localhost : 4502 포트에서 API에 데이터를 게시하려고합니다. POSTMAN을 사용하여이 API에 데이터를 게시하려 할 때 Basic Authorization 키를 제공하여 백엔드에 데이터가 추가되었습니다. 같은 Ajax Jquery 호출을 여기에 구현할 시도하고 있지만 CORS 오류가 점점. jquery에서 처음으로 데이터를 게시하려고하는데 여기에서 도와주세요. 내가 추가 할 수있는 부분이 있습니다. 사용자 이름과 비밀번호를 비워 둘 수 있으므로 기본 인증을위한 API 키가 있습니다.Jquery AJAX : 요청한 리소스에 'Access-Control-Allow-Origin'헤더가 없습니다.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#Save").click(function(){
var person = new Object();
person.Name = $('#Name').val();
person.EmailAddress = $('#EmailAddress').val();
person.CustomFields = [0];
person.CustomFields[0].Key = "[Country]";
person.CustomFields[0].Value = $('#Country').val();;
$.ajax({
url: 'https://api.createsend.com/api/v3.1/subscribers/7c7a6087b0e450ad72b38be83098e271.json',
type: 'POST',
dataType: 'json',
data:person,
success: function(data,textStatus,xhr){
console.log(data);
},
error: function(xhr,textStatus,errorThrown){
console.log('Error Something');
},
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "Basic OTdlMjVmNWJiMTdjNzI2MzVjOGU3NjlhOTI3ZTA3M2Q5MWZmMTA3ZDM2YTZkOWE5Og==");
}
});
});
});
</script>
당신이하려는 것은 AJAX를 통해 API에 액세스하는 것입니다. 이것은 불가능합니다 (이론적으로는 그렇습니다. 그러나 그것에 대해서는 들어 가지 않을 것입니다). api에 HTTP 요청을하려면 서버 언어 (PHP, Node.js 등)를 사용해야합니다. 거기에서 데이터를 가져 와서 원하는대로 사용할 수 있습니다. – UghThatGuyAgain
도메인 간 AJAX 요청에 대해 [** JSONP **] (https://en.wikipedia.org/wiki/JSONP)를 찾고 있습니다. –
@UghThatGuyAgain 답장을 보내 주셔서 감사합니다. 그래서 당신은 php 나 node.js와 같은 호출에서 동일한 호출을 작성해야한다는 것을 의미 했습니까? –