他のドメインにアクセスするには、クロスドメイン要求を行い、Cookie /認証情報を提供する必要があります。私はこれを達成するためにJqueryでJSONPを使用しています。私のテストは、Chromeのデベロッパーツールの[ネットワーク]タブでリクエストが200回返されている限り、成功しています。JSONP GETリクエストから返されたデータにアクセスする方法は?
問題は、コールバック関数が呼び出されなかったというエラーが表示されることです。これは、リモートサーバーがコールバック関数で応答していないことを意味しています。しかし、これはサーバーがJSONPを実装していないため、JSONPを使用して所有していないドメインからデータを取得しようとしているだけです。
私は200を得ているので、データにアクセスする方法はありますか?たとえ私がエラー関数内からそうする必要があったとしても?これを行うことができない
$.ajax({
xhrFields: {
withCredentials: true
},
dataType: 'jsonp',
jsonp: false,
cache: true,
type: "GET",
timeout: 5000,
url: "https://remote.domain.com/path/search",
data: 'keyword=ramy-testing',
success: function(data, textStatus, XMLHttpRequest){
console.log('Error: ' + textStatus);
},
error:function (xhr, ajaxOptions, thrownError){
alert(xhr.status); //displays "200" in alert window
alert(xhr.statusText); //displays "success" in alert window
alert(xhr.responseText); //displays "undefined" in alert window
alert(thrownError); //displays "Error: [callback name] was not called"
}
});