uchome二次开发 ajax异步提交数据
ajax可以有两种方式实现异步提交,一种是get,另一种是post,在uchome中均有简单实现方法.
第一. 先说get方式,调用真是非常的容易
var x = new(‘XML’, ”);
x.get(url, function(s){
//s 就是服务器返回的数据,在这里编写返回后要进行的操作;
});
处理返回一个XML或者HTML格式数据,再用自己用JS控制显示数据。这里要说的是UCHOME经常会碰到一个XML错误的位置。最好使用uchome的showmessage(‘无效的手机号.’);这样会返回一个xml格式的字符串.
第二. Post提交数据
uchome里面ajax提交数据一般都是get方式,这次需要post提交数据,可能 uchome里面根本没有用到这样的方式提交数据,因为大部分ajax提交数据都是通过表单来提交,就是那个ajaxpost函数。
记得在source下有个script_ajax.js, 于是打开搜索了post,原来这里面是有这个方法的:
aj.post = function(targetUrl, sendString, resultHandle) {
if(targetUrl.indexOf(‘?’) != -1) {
targetUrl = targetUrl + ‘&inajax=1’;
} else {
targetUrl = targetUrl + ‘?inajax=1’;
}
setTimeout(function(){aj.showLoading()}, 500);
if(in_array(targetUrl, Ajaxs)) {
return false;
} else {
Ajaxs.push(targetUrl);
}
aj.targetUrl = targetUrl;
aj.sendString = sendString;
aj.XMLHttpRequest.onreadystatechange = aj.processHandle;
aj.resultHandle = resultHandle;
aj.XMLHttpRequest.open(‘POST’, targetUrl);
aj.XMLHttpRequest.setRequestHeader(‘Content-Type’, ‘application/x-www-form-urlencoded’);
aj.XMLHttpRequest.send(aj.sendString);
}
var x = new Ajax();
url = ‘cp.php?ac=password’;
str = ‘checkPhone=check&phonenumber=1234566789′;
x.post(url, str, function(s){
alert(s);
});
上面的str就是要发送的数据,
即:checkPhone = check,phonenumber=telphone
数据用值对的形式组合,这个和jquery的ajax发送方式类似。
服务器端和正常的表单提交接收数据没有任何区别:
post中的数据则为:
$_POST[‘checkPhone ‘]=’check’;
$_POST[‘phonenumber’]=’1234566789′;
然后按照自己的逻辑去处理就可以了。
欢迎转载,请注明出处:亲亲宝宝