わかりましたので、jsonpを使用してクロスドメインajax Webサービス呼び出しを試みて、カテゴリのリストを返してドロップダウンリストに入力し、奇妙な結果を得ています。できるだけ多くの例に従い、自分のドメインで動作する jsonp リクエストを取得しましたが、他のドメインでは動作しません。
以下のコード:
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で私のドメインでこれが機能していることを確認できます。 ただし、私の PC または別のサーバーで単純な html ファイルからこのコードを実行しようとすると、機能しません。jbug から構文エラーが発生します。
すべてのヘルプは事前に大歓迎です!
ニック