jQuery序列化Ajax跨域序列化請求$.ajax

來源:互聯網
上載者:User

用的比較多的jquery+ajax方法是$.post,它也是對$.ajax的二次封裝,那麼接下裡看看$.ajxa的使用:

 代碼如下 複製代碼
$('#ajax').click(function(){
$.ajax({
type:'post',
url:'test.php',
dateType:'html',//支援htmlxmljsonjsonp
data:{domain:'www.111cn.net',keyword:'php部落格'},
success:function(response,status,xhr){
console.log('success:'+response);
},
error:function(response,status,xhr){
console.log('error:'+response)
}
});
});

其中jsonp,跨域的操作請查看文章:php+jquery+jsonp實現ajax跨域問題

在表單提交的時候,可能資料比較多那樣的話data:{}裡面的參數會非常的多,而且容易出錯,那麼就用到了form的序列化serialize()

 代碼如下 複製代碼

$('.btn').click(function(){
$.ajax({
type:'post',
url:'test.php',
dateType:'json',//支援htmlxmljsonjsonp
data:$('form').serialize(),//success:{"user":"tuisiyuan","email":"1054770532@qq.com"}
//data:$('form').serializeArray(),//success:{"user":"tuisiyuan","email":"1054770532@qq.com"}
success:function(response,status,xhr){
console.log('success:'+response);
},
error:function(response,status,xhr){
console.log('error:'+response)
}
});
});

php中serialize截圖:

php中serializeArray截圖:

由上看出在php端對資料的處理,serialize和serializeArray基本沒啥區別。

還有一個不太常用但是比較有用的方法,那就是ajax資料初始化的方法:$.ajaxSetup對重複資料的初始化

$.ajaxSetup({//初始化共同的資料,使代碼不出現過多的重複現象

 代碼如下 複製代碼
type:'post',
url:'test.php'
});

補充:jsonp實現ajax跨域請求

首先我在本地一個網域名稱下載入以下代碼:

 代碼如下 複製代碼

<scripttype="text/javascript"src="http://www.lshop.com/js/test.js"></script>
然後我在www.lshop.com中的js的test.js中貼上jsonp的代碼:

$.ajax({
type:"get",
async:false,
url:'http://www.111cn.net/ index.php',
dataType:"jsonp",
//jsonp:"callback",//傳遞給請求處理常式或頁面的,用以獲得jsonp回呼函數名的參數名(一般預設為:callback)
jsonpCallback:"flightHandler",//php中傳回值的時候需要包裹返回資料的函數
success:function(json){
alert('我的關鍵字是:'+json.stitle);
},
error:function(){
alert('fail');
}
});

php端的代碼:

 代碼如下 複製代碼

$a=json_encode(array('title'=>'IT部落格','stitle'=>'javascript部落格'));
echo"flightHandler($a)";
exit;

得到的結果是:彈出—我的關鍵字是:javascript部落格。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.