xmlhttprequestクラスとjquery ajaxを使用してサーバーからデータを正常にロードしましたしかし、No 'Access-Control-Allow-Origin'という角度のアヤックスではできませんでした。角度のあるajaxは使用できません。「アクセス制御可能なOrigin」はありません.xmlhttprequestとjquery 3xを使用してください。
注:jqueryのバージョンが3よりも低くなると、角型ajaxのようにNo 'Access-Control-Allow-Origin'も表示されます。
<script src="https://code.jquery.com/jquery-3.1.1.js" integrity="sha256-16cdPddA6VdVInumRGo6IbivbERE8p7CQR3HzTBuELA=" crossorigin="anonymous"></script>
<script>
$(document).ready(function(){ $.ajax({
url:'http://...',
data:"{\"city\":\"Kolkata\"}",
method:'post',
headers:{'Content-Type': 'application/json','accept': 'application/json'},
success:function(data){
console.log(data);
},
error:function(data){
console.log(data);
}
});
});
と次のバージョンも動作している通常のXMLHttpRequestバージョンである:ここ
が作動しているが、3から3よりも低いとバージョンを劣化させる場合も同様に動作していないjqueryのAJAXコードであります
$(window).load(function() {
var http = new XMLHttpRequest();
var url = "...";
var params = "{\"city\":\"Kolkata\"}";
http.open("POST", url, true);
http.setRequestHeader("Content-type", "application/json");
http.setRequestHeader("accept", "application/json");
//Send the proper header information along with the request
http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
}
http.send(params);
});
しかし、angular1のajaxコードは動作していません。角度バージョンは最新のものです。
$http({
method: 'POST',
url: '...',
headers: {'Content-Type': 'application/x-www-form-urlencoded,application/json',
'Accept':'application/json'},
data: {'city':'Kolkata'}
}).then(function successCallback(response){
console.log(response);
//return response;
},function errorCallback(response){
//return response;
console.log(response);
});
お時間をいただきありがとうございます。
が私を修正します要求がクロスオリジンである場合、jQueryはcrossDomainオプションをtrueに設定するためです。彼らはCORSサポートを$ .ajaxの機能に組み込んでいます。 – Tom
@Tom - クライアントは特定のリクエスト(ヘッダなどを省略)でCORSのトリガを制限することができますが、CORSがトリガされると、レスポンスヘッダのサーバ側の設定が必要です(jQueryクライアントのみでは処理できません)。 jQueryがjsonpを使用してCORSを回避できる可能性があります。 – cchamberlain
@cchamberlainしかし、私はヘッダがサーバー側に設定されていると思います。jQuery 3と同様にxmlhttprequestは正常にデータにアクセスできます。私は角度jの場合に何をすべきですか?私は角度jを使う必要があります。 –