比如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('<img src="images/Loading.gif">');},
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"))
这个问题网上也查不到,请问是什么原因啊
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('<img src="images/Loading.gif">');},
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"))
这个问题网上也查不到,请问是什么原因啊
解决方案 »
- 正则的问题,截取下面文章里的邮箱和Registrant:后的姓名,但是有好多不同情况,请问正则表达式该怎么写?
- PHP提交表单怎么写?想添加完整。原程序都有。我只是想添加一个表单
- php+mssql:mssql_connect Unable to connect to server
- PHP网站在海外服务器发布,文件上传的问题
- socket 同步数据--TCP
- 新推出的搜索功能,请大家指导
- 怎样知道一个目录下有多少文件啊!
- help!~~~~~
- [100分求教!]请问如何动态生成播放列表文件(*.m3u)供客户端的播放器播放?
- 狂晕的问题!!!Apache升级后出问题了!!!高手请进来!相送分数!!!!!!
- 各位大神求救啊!!!!!!!!!!!!
- 一个查询语句怎么写,mysql php
2、如果你的文件是utf-8编码,确认无bom头
trim(data),当然也可以对trim(r[0])去空格
http://www.111cn.net/wy/js-ajax/39612.htm我按照文章中的方法,结果用alert输出时,firefox中没有换行了,但ie6还是有,而且两种浏览器都不能正常运行
if(r[0] == "yt" ) 判断结果总是为false
但r[0]明明是yt啊,数据类型也是string,脑袋都块想破了
贴出结果
DQoNCjM4我如果直接在浏览器中运行该链接,结果是37,但上面空了两行 ,37是$row['dig']的值
$s = base64_decode($s);
echo bin2hex($s);
得到返回值的十六进制内码:0d0a0d0a3338
其中:
0d 回车符
0a 换行符这表示你的程序在 <?php ?> 之外有两个空行
可能在本文件也可能在嵌入的文件中
用js删除空行要这样
data.replace(/[\r\n]+/g,"")