我有兩臺服務器的任何數據,一個爲localhost:3000,另一種是gjy.com:3001,jQuery的阿賈克斯JSONP跨域回調函數沒有得到僅在IE7及以下
gjy.com:3301服務器端是expressjs。
//app.js
app.get('/user/jsonp', user.jsonp);
//user.js
exports.jsonp = function(req, res) {
res.jsonp({"name": "jsp"});
};
本地主機:3000頁JS功能代碼象下面這樣:
$.ajax({
type: 'GET',
url: 'http://gjy.com:3001/user/jsonp',
dataType: 'jsonp',
crossDomain: true,
success: function(data) {
console.log('data is loaded');
console.log(data);
},
error: function(err) {
console.log('err');
console.log(err);
}
});
,並在IE7控制檯結果及以下
data is loaded
undefined
,但在其他瀏覽器
控制檯結果data is loaded
{"name": "jsp"}
奇怪的是,您將'crossDomain'選項設置爲true,並使用JSONP的'dataType'。這不應該需要,也許是造成你的問題。我建議刪除'crossDomain'選項並再次嘗試。 –