$.ajax({ url:'http://www.xx.com/index.PHP?tp=sitelogin',data: "op=login&loginname="+loginname+"&password="+password+"&remember="+remember+"&isemail="+isemail,dataType:"jsonp",jsonp:"jsonpcallback",timeout: 5000,success:function(data,status){ } });
通过dataType选项可以指定不同数据处理方式。除了单纯的XML,还可以指定 html、json、jsonp、script或者text。
如果获取的数据文件存放在远程服务器上(域名不同,也就是跨域获取数据),则需要使用jsonp类型。使用这种类型的话,会创建一个查询字符串参数 callback=? ,这个参数会加在请求的URL后面。
服务器端应当在JSON数据前加上回调函数名,以便完成一个有效的JSONP请求。如果要指定回调函数的参数名来取代默认的callback,可以通过设置$.ajax()的jsonp参数。
服务器代码:
$jsonp = inputFilter($_GET['jsonpcallback']); echo $jsonp.'({"state":"error","message":"请输入登录邮箱"})';