jquery ajax程序对php程序返回的字符串进行切分就总是出问题
比如php程序 输出一个
echo 'yt|'.$row[dig];
ajax程序对其进行切分:
function dig(id) { //当单击投一票链接时
var content = document.getelementbyid(dig+id); //获取显示“投一票”的元素
//获取显示票数的元素,其id属性值为一个数字,类似id=3
var dig = document.getelementbyid(id);
$.ajax({
type: get,
url: service.php,
data: {id:id,n:math.random()}, //发送记录id给service.asp
beforesend:function(){$(dig).html('');},
success: function(data){ //处理返回的数据
r=data.split(|);
alert(r[0]);
if(r[0] == yt ) { //已经投过票的情况
$(content).html(您已经投过票了!);
$(dig).html(r[1]); //显示原来的票数
}
else if(data == nodata) //没有找到记录
{ alert(参数错误!); }
else{
$(dig).html(data); //服务器修改成功,更新票数
$(content).html(投票成功); //将投一票改成投票成功
settimeout(rightinfo(+id+),3000); //3秒后调用rightinfo(id)
} }}); }
就总是切分不出来,
经测试,问题在于r[0] == yt 返回的是false。但用alert(r[0]);输出结果是yt,但yt上面好像还有一空行。
以前用asp程序输出就根本不存在这样的问题,以前是:
response.write(yt&,&rs(dig))
这个问题网上也查不到,请问是什么原因啊
分享到:
------解决方案--------------------
1、确认你的php文件前面没有空行
2、如果你的文件是utf-8编码,确认无bom头
------解决方案--------------------
引用:比如php程序 输出一个
echo 'yt
------解决方案--------------------
'.$row[dig];
ajax程序对其进行切分:
function dig(id) { //当单击投一票链接时
var content = document.getelementbyid(dig+id); //获取显示“投一票”的元素