몇 개의 도메인간에 데이터를 공유하기 위해 json API를 게시했습니다. 원격 사이트의 모든 GET을 패딩 된 json으로 반환 할 수있는 콜백을 제공합니다.jquery를 사용하면 교차 사이트 jquery GET의 데이터를 패딩하는 것과 비슷한 방식으로 교차 사이트 POST를 어떻게 처리 할 수 있습니까?
GET http://mysite.com/jsonapi/object?callback=?
반환 : ({ 'someKey': 'someData'})
이제이 모든 것이 우리가 원격 사이트에서 데이터를 GET'ting,하지만 난 원격 jQuery를 수행하려고 시도하는 순간 때마다 잘 작동 json 데이터를 가져 오기 위해 api에 POST하면 파이어 폭스에서 null 반환을받습니다. 원격 사이트의 양식을 json API에 아무 문제없이 게시하고 json 데이터를 가져올 수 있습니다. 이 문제는 jquery POST에서만 발생합니다. 나는 이것이 완전히 이해하지 못하는 cross-site scripting에 대한 어떤 종류의 보호라고 생각한다. jquery POSTing 페이지를 다운로드 한 것과 동일한 사이트의 URL로 jquery POST 데이터를 보내면 문제가 없습니다.
원격 사이트로 jquery 게시물을 보내고 돌아온 json 데이터를 어떻게 처리합니까? 콜백을 추가하거나 반환되는 json 데이터에 다른 유형의 수정을 할 수 있으며 보안에 대해 걱정하지 않습니다. 난 그냥 jQuery 대신 GET 매개 변수를 전달하는 양식 게시 할 수 싶습니다.
jquery를 원격 사이트에 어떻게 수정합니까?
<form method="post" action="http://www.remoteSite.com" name="input">
Quick form to test update public data:<br>
New data:<input type="text" value="New Data" name="newData"><br>
<input type="submit" value="Submit">
</form>
<script src="_js/jquery-1.4.2.min.js" type="text/javascript"> </script>
<script type="text/javascript">
$("form").submit(function(e){
var form = $(this);
$.ajax({
url : form.attr('action'),
method: form.attr('method'),
data : form.serialize(), // data to be submitted
success: function(response){
alert(response); // do what you like with the response
}
});
return false;
});
</script>
현재 예상되는 json 반환 데이터가 아니라 [JavaScript Application]이 경고로 반환됩니다.
감사합니다. 내가 뭘 찾고 있었는지. – Chris