由于平時(shí)要與ajax打交道,所以選擇了簡(jiǎn)單基礎(chǔ)的jquery的ajax方法來完成我的相關(guān)需求土铺,這里只是很簡(jiǎn)單的做一個(gè)演示來促進(jìn)自己對(duì)ajax與php實(shí)行交互的一些理解胶滋。
1.首先寫一個(gè)ajax方法常見的格式:
$.ajax({
type: 'POST',
url: url ,
data: data ,
success: success ,
dataType: dataType
});
2.簡(jiǎn)單的對(duì)ajax方法的參數(shù)進(jìn)行一些描述
url (必需)規(guī)定把請(qǐng)求發(fā)送到哪個(gè)URL。
data 可選悲敷。映射或字符串值究恤。規(guī)定連同請(qǐng)求發(fā)送到服務(wù)器的數(shù)據(jù)。
success(data, textStatus, jqXHR) 可選后德。請(qǐng)求成功時(shí)執(zhí)行的回調(diào)函數(shù)部宿。
dataType (可選)規(guī)定預(yù)期的服務(wù)器響應(yīng)的數(shù)據(jù)類型。默認(rèn)執(zhí)行智能判斷(xml瓢湃、json理张、script 或 html)。
3.標(biāo)注一個(gè)剛剛自己寫的簡(jiǎn)單的實(shí)現(xiàn)input標(biāo)簽失去焦點(diǎn)來傳輸給php
<div>
<span>NAME:</span><input type="text" id="name"/><br /><br/>
<span>ADDRESS:</span><input type="text" name="address" onblur="change()" />
</div>
<script type="text/javascript">
function change(item) {
var txt1 = $("#name").val();
var txt2 = $("input[name=address]").val();
$.ajax({
type: 'post',
url: 'change.php',
data: {name: txt1, address: txt2},
dataType: 'json',
success: function (data) {
if (data.status == 0) {
alert(data.msg);
} else {
alert(data.msg);
}
},
error: function () {
alert("程序異常");
}
});
}
</script>
這樣對(duì)于change.php文件就可以接收到傳輸?shù)南嚓P(guān)數(shù)據(jù)來進(jìn)行處理绵患,我非常簡(jiǎn)單的寫了一個(gè)接收數(shù)據(jù)的php文檔雾叭,代碼如下:
<?php
//判斷傳過來的name是否為空來判斷
if(!empty($_POST['name'])){
$value = array("status"=>"1","msg"=>"保存成功");
echo json_encode($value);
}
else {
$value = array("status"=>"0","msg"=>"保存失敗");
echo json_encode($value);
}
由于我選擇datatype是json格式,所以就通過json_encode函數(shù)進(jìn)行處理返回?cái)?shù)據(jù)落蝙。
在網(wǎng)上看到一個(gè)ajax注意方式织狐,如下:
1.data主要方式有三種,html拼接的筏勒,json數(shù)組移迫,form表單經(jīng)serialize()序列化的;通過dataType指定管行,不指定智能判斷厨埋。
2.$.ajax只提交form以文本方式,如果異步提交包含<file>上傳是傳過不過去,需要使用jquery.form.js的$.ajaxSubmit