programing

jQuery AJAX를 이용한 메일침프 구독?

stoneblock 2023. 10. 6. 20:51

jQuery AJAX를 이용한 메일침프 구독?

Mailchimp의 목록에 사용을 등록하는 완전한 jQuery 솔루션은 무엇입니까?

문제는 대부분의 솔루션이 라이브러리를 사용하거나 서버 사이드 코드가 필요하다는 것입니다.저는 UI를 완벽하게 제어할 수 있는 빠른 우아한 솔루션을 원합니다. 따라서 형태와 기능에 대한 UX가 필요합니다.

@Nagra의 솔루션은 좋으나 동일한 오리진 보안 정책으로 인해 클라이언트의 브라우저에서 실행 시 오류가 발생합니다.기본적으로 이러한 보안 조치는 발신자와 발신자가 서로 다른 도메인에 있을 때 발생하는 사이트요청을 방지하기 위한 것입니다.

자바스크립트 콘솔에 아래와 같은 오류가 나타나면 명백한 표시입니다.

XMLHttpRequest cannot load http://YOUR-MAILCHIMP-URL. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin http://BROWSER-LOCATION is therefore not allowed access.

이 문제를 해결하려면 CORS 또는 JSONP를 사용하기 위해 스크립트를 다시 작성해야 합니다. MailChimp API가 CORS를 지원하지 않기 때문에 유일한 옵션은 문서화되지 않은 JSONP 인터페이스입니다.

URL을 변경하여 /subscribe/post-json을 활용하시겠습니까?버전과 &c=?를 끝에 추가합니다.URL이 업데이트되면 JSON 해시의 dataTypejsonp로 수정해야 합니다.

업데이트된 함수의 처음 몇 줄은 아래와 유사해야 합니다.

$.ajax({
    url: '//YOUR URL&id=YOUR LIST ID&c=?',
    data: $('#YOUR FORM').serialize(),
    dataType: 'jsonp',
  1. List > Sign Up forms > (Classic form)을 선택하여 리스트의 URL을 가져옵니다.'사이트에 복사/붙여넣기' 텍스트 영역에서 찾을 수 있으며 대부분 사용자 이름으로 시작합니다.

    $('#your-form').submit(function (e) {
        e.preventDefault();
    
        $.ajax({
            url: 'YOUR URL',
            type: 'GET',
            data: $('#your-form').serialize(),
            dataType: 'jsonp',
            contentType: "application/json; charset=utf-8",
            success: function (data) {
               if (data['result'] != "success") {
                    //ERROR
                    console.log(data['msg']);
               } else {
                    //SUCCESS - Do what you like here
               }
            }
        });
    });
    

언급URL : https://stackoverflow.com/questions/21526408/mailchimp-subscribe-using-jquery-ajax