0
好吧,所以我嘗試使用jsonp跨域ajax webservice調用返回一個類別列表來填充下拉列表,並得到更奇怪的結果。我儘可能多地使用了一些示例,並且在我的域上有一個jsonp請求,但它不適用於其他域。下面JSONP跨域GET請求不能跨域使用
代碼:
function parseJSON(item){
return JSON.parse(item, function (key, value) {
var type;
if (value && typeof value === 'object') {
type = value.type;
if (typeof type === 'string' && typeof window[type] === 'function') {
return new (window[type])(value);
}
}
return value;
});
};
function getCategories() {
var webserviceURL = 'http://www.theprintersinc.co.uk/TPIWS.asmx/getCategories';
var myData;
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: webserviceURL,
data: { galleryGuid: 1 },
dataType: "jsonp",
complete: function (msg) {
if (msg) {
var myObject = parseJSON(msg.responseText);
var myCatList = parseJSON(myObject.d);
if (myCatList) {
catList = myCatList;
setCatDDL();
};
};
//reset close button
},
error: function (xhr, ajaxOptions, thrownError) {
var err = "err";
}
});
};
您可以在http://www.theprintersinc.co.uk/stackHelp.html 看到這個工作對我的域然而,當我試圖在我的電腦或不工作的另一臺服務器上運行從一個簡單的HTML文件的代碼。我剛從jbug得到一個語法錯誤。
任何和所有的幫助提前非常感謝!
尼克
響應不是JSONP – 2013-03-08 23:55:26
在我的域中,至少會觸發並返回一個可解析的響應,只要它位於不同的域上,它就會顯示語法錯誤。 – 2013-03-09 00:54:03
你有什麼建議,爲什麼這可能是?讓我知道如果您需要查看webservice ... – 2013-03-09 00:54:42