자바 스크립트가 client-side입니다 자세한 예가 여기에 프론트 엔드 부분에 대한 몇 가지 헤더를 설정해야합니다, 그래서 그것은 바로 같은 것을 통해 서버로 전송 변수에 액세스 할 수 없습니다 게시물 요청
바닐라 JS에서 수행 할 수있는 에서까지 게시 요청을 수행하려면 서버를 통해 값을 검색하고 JSON을 그런 식으로 반환하는 몇 가지 옵션이 있습니다. 예를 들어
(이 domain1.com에 JS에서오고 domain2.com에 대한 비동기 크로스 도메인 요청입니다) :
var http = new XMLHttpRequest();
var url = "domain2.com/searchTableInfo1";
var params = JSON.stringify(myJSONobj);
http.open("POST", url, true);
//Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.onreadystatechange = function() {
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);//the JSON string from server will show here
}
}
http.send(params);
서버 측 언어에 따라 뭔가를 볼 수 있었다 domain2.com에 그러나 가는 일부 서버 측 처리를 필요로하는 POST 요청을 사용
<?php
$data = json_decode($_POST['myJSONobj']);
//handle data processing here
$jsonToReturn = array("Enter processed data here");
echo json_encode($jsonToReturn);
?>
: (예 PHP에서,하지만 당신은 Node.js를, ASP.Net, 및 기타 다양한 옵션을 실행 할 수 있습니다)이 같은 domain2.com의 데이터 (비 JS - 물론 노드에 있지 않으면!). 이것이 가능하지 않은 경우 위의 JS에서 바의 일부를 변경하여 get
비동기 요청을 시도하면 domain1.com에 동일한 도메인 간 액세스가 부여되지만 Javascript의 범위와 그 범위를 이해해야합니다 클라이언트 측 언어로서의 액세스.
질문이 있으시면 알려주십시오.
서버는 CORS 헤더를 사용하여이를 허용해야합니다 - 그러면'fetch' 또는'XMLHttpRequest'를 사용하여 데이터로 'POST'요청을하고 두 가지 바닐라 JS AJAX 방법을 사용하기로 선택 –
[Duplicate] (http://stackoverflow.com/questions/8567114/how-to-make-an-ajax-call-without-jquery)? – Isaiah
답장을 보내 주신 Jaromanda X님께 감사의 말씀을 전합니다. –