首先愛這個資源 - 一直在使用它和學習一兩年了。這是我的第一篇文章,因爲我真的被卡住了。我通過ajax/jsonp提交表單。如果我在本地運行這個腳本 - 我用成功代碼從域中獲得迴應。如果我只是在瀏覽器中運行請求,它會給我回應成功代碼。但是當我提交表單時--Firebug給我一個紅色的200 OK,服務器沒有響應。 Safari讓我無法加載資源:取消。無法找到關於錯誤的很多文檔,所以我停下了腳步。我知道這可能是非常令人厭惡的專業人士閱讀,但這是我的第一篇文章,所以任何指導表示讚賞!在線有兩個示例:http://www.yourlifeportal.com/register.php其中包含reCaptcha的版本。 http://www.yourlifeportal.com/registerNew.php沒有reCaptcha只是添加了驗證碼,影響了我的代碼。如果我只是需要臉上的一點點,讓我也知道。謝謝!ajax jsonp請求 - 沒有回覆
$.ajax({
url: 'http://myURLonaDifferentDomain',
data:jQuery(frm).serialize(),
type: 'POST',
dataType: 'jsonp',
jsonp: 'jsonp',
crossDomain: true,
error: function (xmlHttpRequest, textStatus, errorThrown) {
if(xmlHttpRequest.readyState == 0 || xmlHttpRequest.status == 0)
return; // it's not really an error
else
alert(xmlHttpRequest + ': ' + textStatus + ': ' + errorThrown);
},
success: function(jsonp) {
// Response handling code goes here
console.log(json.response.responseCode + ': ' + json.response.response + ': ' + json.response.responseDescription);
if (json.response.responseCode == 10527) {
document.getElementById('errorScreen').style.display='block';
$('#errorMsg').append('There was an error with your credit card transaction please go back and re-check your ');
}
if (json.response.responseDescription == "Registration was successful") {
window.location.replace("http://www.url.com/thankyou.php");
}
}
});
}
我以爲jsonP是跨域問題的解決方案嗎? –
這是Firebug爲響應標題顯示的內容。我缺少的東西嗎?日期\t孫,2011年8月21日7點15分五十秒GMT 服務器\t的Apache/2.2.8(CentOS的) 內容語言\t的en-US 的Content-Length 連接\t接近 內容 - 鍵入\t application/x-javascript; charset = UTF-8 –
是的,沒有CORS頭文件(它看起來像'Access-Control-Allow-Origin')。你可以看到請求是否看起來像一個JSOP請求(在GET中會有一個參數,如'jsonp = xyz'),如果響應是正確的(它將以'xyz(...')開始) – Malvolio