亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

CORS POST請求可以使用普通的javascript,但為什么不使用jQuery?

CORS POST請求可以使用普通的javascript,但為什么不使用jQuery?

米脂 2019-07-31 18:19:13
CORS POST請求可以使用普通的javascript,但為什么不使用jQuery?我正在嘗試制作一個Cross Origin帖子請求,并且我使用這樣的普通Javascript工作:var request = new XMLHttpRequest();var params = "action=something";request.open('POST', url, true);request.onreadystatechange = function() {if (request.readyState==4) alert("It worked!");};request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");request.setRequestHeader("Content-length", params.length);request.setRequestHeader("Connection", "close");request.send(params);但我想使用jQuery,但我無法讓它工作。這就是我正在嘗試的:$.ajax(url, {    type:"POST",    dataType:"json",    data:{action:"something"},     success:function(data, textStatus, jqXHR) {alert("success");},    error: function(jqXHR, textStatus, errorThrown) {alert("failure");}});這導致失敗。如果有人知道為什么jQuery不起作用,請讓我們都知道。謝謝。(我正在使用jQuery 1.5.1和Firefox 4.0,我的服務器正在使用正確的Access-Control-Allow-Origin標頭進行響應)
查看完整描述

3 回答

?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

另一種可能性是設置dataType: json導致JQuery發送Content-Type: application/json標頭。這被CORS視為非標準頭,并且需要CORS預檢請求。所以要嘗試一些事情:

1)嘗試配置服務器以發送正確的預檢響應。這將是像附加頭的形式Access-Control-Allow-MethodsAccess-Control-Allow-Headers。

2)刪除dataType: json設置。JQuery應該Content-Type: application/x-www-form-urlencoded默認請求,但只是為了確定,你可以替換dataType: jsoncontentType: 'application/x-www-form-urlencoded'


查看完整回答
反對 回復 2019-07-31
  • 3 回答
  • 0 關注
  • 652 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號