私のWebページでajax
リクエストを通じて外部Webページのコンテンツ(特定の部分)を読み込もうとしています。だから、http authを持つajaxで外部Webページの特定の部分を取得
に従うよう要求に対する curl
URLは、私はCross-Origin Request Blocked:
(これは私にCORS
エラーを与えるWebページ
var username,password;
$.ajax
({
type: "GET",
url: "http://X.X.X.X:PORT/",
dataType: 'text/html',
async: false,
crossDomain: true,
data: '{"username": "username", "password" : "secret"}',
success: function(){
alert('Thanks for your comment!');
},
error: function (err){
alert(err);
},
beforeSend: function (xhr) {
xhr.setRequestHeader ("Authorization", "Basic " + btoa(username + ":" + password));
}
});
を取得するには、以下のAJAX呼び出しを試されます)。 dataType
をtext/html
からjsonp
に変更した後。 "0x80004005の(NS_ERROR_FAILURE)" 場所: "JSフレーム:: https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js :: .send ::ライン5" データIは、次のエラー
[例外... "失敗" nsresultで応答を受信しました: no]
いずれの場合でもajax呼び出しの成功部分は実行されません。それだけエラー部分に行きます。私がページを受け取った場合、以下の方法で特定の部分を取り出すことができます。
var data = $.parseHTML(res); //<----try with $.parseHTML().
$(data).find('div.content').each(function(){
$('#here').append($(this).html());
どのように必要な結果を得るには?
@GuRuの提案の後、私は以下を試しましたが、まだ成功メソッドが呼び出されていません。 JSONテキストの
var username,password;
$.ajax({
type: "GET",
url: "http://X.X.X.X:PORT/",
data: '{"username": "user", "password" : "secret"}',
async:true,
dataType : 'jsonp',
crossDomain:true,
success: function(){
alert('Thanks for your comment!');
},
beforeSend: function(xhr) {
xhr.overrideMimeType("text/plain; charset=x-user-defined");
xhr.setRequestHeader ("Authorization", "Basic " + btoa(username + ":" + password));
}
});
試し "のContent-Type" の代わりに、ヘッダに ' "テキスト/ javascriptの"' 'テキスト/ html' –
@ParthTrivedi私はdataType''で "テキスト/ JavaScriptを" 試してみましたが、それでも同じエラー。 –
'application/javascript'で試したことがあります –