一次AJAX跨域訪問無響應 解決過程
阿新 • • 發佈:2019-01-27
在A網站使用jQuery .post 向自己網站傳送請求,OK。
在B網站向A網站發請求時,fireBug報錯,但沒有顯示錯誤原因。
1、在網上搜索可能是“javascript跨域訪問”的問題。
2、在A網站設定斷點,能夠收到B網站的請求,也返回了響應,但B網頁上跟蹤卻沒有收到。
3、網上說post不支援跨域,於是將.post換成.get,問題依然
4、網上說datatype為json時才可以,於是將datatype設定為json(javascript & server都設定),server返回json格式字串,問題依然
5、用chrome跟蹤,顯示了錯誤原因是:not allowed by Access-Control-Allow-Origin。於是在server設定
context.Response.AppendHeader("Access-Control-Allow-Origin", "*");
成功解決。
過程中還學到:
context.Request.Form 用於處理 post請求,context.Request.QueryString用於處理 get請求,
如果直接使用context.Request,可同時處理post,get請求。(當get, post只key相同時,get優先)