最近使用jquery ajax發送請求時,遇到了發送失敗的問題,下面是我的代碼:
$.ajax({ url: 'http://www.example.com', type: 'POST', data: {'name': '張三', 'age': 18}, success: function(data) { console.log(data); }, error: function() { console.log('請求失敗!'); } });
經過一番排查,我發現是跨域問題導致的請求失敗。我嘗試在后端添加Access-Control-Allow-Origin響應頭,但并沒有解決問題。
最后我找到了一個成熟的解決方案,使用JSONP來實現跨域請求:
$.ajax({ url: 'http://www.example.com', type: 'GET', dataType:'jsonp', data: {'name': '張三', 'age': 18}, success:function(data){ console.log(data); }, error:function(){ console.log('請求失敗!'); } });
使用JSONP時,需要將dataType設置為'jsonp',并將請求方式改為GET。這樣就可以解決跨域問題了。