我們已經發布了json api來在幾個域之間共享數據。我們提供了一個回調函數,允許來自遠程站點的任何GET以填充json的形式返回。使用jquery,你如何解決跨站點POST的問題,類似於填充跨站點jQuery GET的數據?
GET http://mysite.com/jsonapi/object?callback=?
收益:({「someKey」:「someData」})
現在,這一切工作正常,只要我們GET'ting從遠程站點的數據,但我試圖做一個遠程的jQuery的那一刻發佈到api來獲取json數據,我在Firefox中得到一個null返回值。我可以將表單從遠程站點發布到json API,而不會有任何問題,並取回json數據。這個問題只出現在jQuery POST中。我想這是對我不完全理解的跨站腳本的某種保護。當我將jquery POST數據發佈到同一網站上的url時,我從中下載了jquery POSTing頁面,但是我沒有這個問題。
我該如何做一個jQuery發佈到遠程站點並處理我回來的json數據?我可以添加回調或對正在返回的json數據進行其他類型的修改,我不擔心安全性。我只是想能夠發佈表單而不是將參數作爲GET傳遞。
我該如何修改這個jQuery POST到遠程站點?
<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>
目前返回[JavaScript應用程序]作爲警報而不是預期的json返回數據。
謝謝。正是我在找的東西。 – Chris 2010-06-04 14:45:21