我在本地嘗試讓JSONP給我一個正確的響應,並將其傳入我的回調函數jsonp_callback。從使用代碼:How do I set up JSONP?正確的JSONP響應
header('content-type: application/json; charset=utf-8');
$data = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo $_GET['jsonpCallback'] . '('.json_encode($data).')';
和
$.ajax({
url: 'jsonp-response.php',
dataType:'jsonp',
jsonp: 'jsonp_callback',
success: function (r){
console.log(r);
}
});
function jsonp_callback (r){
console.log('jsonp_callback:',r);
}
SOFAR我得到它看起來像一個響應:
jQuery1102035954900085926056_1381230228656({"a":1,"b":2,"c":3,"d":4,"e":5})
從Testing a static jsonp response望着第一個答案我想我正確地做,但我不知道爲什麼jQuery給了我一個獨特的字符串。
我該如何讓我的回覆看起來像這樣?
jsonp_callback({"a":1,"b":2,"c":3,"d":4,"e":5})
是否有可能您的響應是字符串而不是JSON對象?你能檢查它嗎? – JoeFletch
成功函數返回對象 – invad0r
對不起,我錯讀了你的初始文章。我現在看到它。我對設置'jsonp'屬性並不熟悉,但是您是否在'success'屬性中嘗試了以下內容? '成功:function(r){jsonp_callback(r); }' – JoeFletch