私はAjax呼び出しを使用してPOSTリクエストを作成しようとしていますが、すべてのリクエストパラメータがAdvanced REST Clientで動作している状態コード0でエラーが発生しています。Javascript Ajaxコールが機能しません。
MyCode:
<button>Post</button>
$('button').click(function(e) {
e.preventDefault();
$.ajax({
url: "https://api.sendgrid.com/v3/mail/send",
type: "POST",
contentType : 'application/json',
headers : {
'Authorization' : 'Bearer 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',
'Content-Type' : 'application/json'
},
data: JSON.stringify({
"personalizations": [{
"to": [{
"email": "[email protected]"
}]
}],
"from": {
"email": "[email protected]"
},
"subject": "Great, World!",
"content": [{
"type": "text/plain",
"value": "Cool OK!"
}]
}),
dataType: "json",
success: function (response) {
var resp = JSON.parse(response)
alert(resp.status);
},
error: function (xhr, status) {
alert("error : "+status+" :: "+JSON.stringify(xhr));
}
});
});
{"readyState":0,"responseText":"","status":0,"statusText":"error"}
はまたjsfiddle
私を助けてくださいにチェックするというエラーを投げ続けています、それを実行している間これは、私の上記のコードであります、私にいくつかの解決策を提案し、私は問題を見つけることができません私はコード。
「405メソッドが許可されていません」送信するパラメータとサービスレイヤの関連メソッドを確認してください。 – brk
はい405しかし、同じリクエストパラメータがAdvance Rest Clientでうまく機能しています。 –
Fiddler to Advance Rest Clientを介して送信されたリクエストの様子と、上記のコードを使用してリクエストを送信したときの様子を確認してください。私はそれがCORSについてだと思う。別のドメインに投稿しようとすると、ブラウザはOPTIONS動詞を使用してprefly reqestを送信します。そのリクエストでは、(サーバーがこのhttp動詞をサポートしていないため)応答がNOT ALLOWEDになります。作業。 – xxxmatko