我正在从服务器检索一些类似这样的数据:1:some values@2: some other@3:some more
。我在客户端解析它,它适用于chrome但firefox似乎抛出此错误。
我甚至尝试将dataType设置为不起作用的文本。我搜索了类似的问题,发现这是matching。但我通过http访问它只是不同于这个线程中的问题。
编辑:
setInterval(function(){
if($thisUser)
$commonURL= "checkRequest.do?user="+$thisUser ;
else
$commonURL= "checkRequest.do?user=null";
$.ajax({
url:$commonURL,
contentType: "text/plain",
dataType: "text",
success:function(result){
if(result[0]=="1")
window.location="playGame.do";
else if(result[0]=="2"){
result1=result.substring(1,result.indexOf("@"));
resultTemp="";
for(i=0;i<result1.split(",").length-1;i++)
resultTemp += "<a href='#' class='oppRequests' id='"+result1.split(",")[i]+"'>"+result1.split(",")[i]+"</a>, ";
$('td#oppRequests').html(resultTemp);
resultTemp="";
$("a.oppRequests").click(function(){
$thisUser = $(this).html();
$.ajax({
url:"postRequest.do?confirm="+$thisUser,
success:function(result){
}});
});
}
}
});
},10000);
请帮我解决这个问题:)
有人请回答:p我有正确的方法来实现我想要的但我想知道这个问题。
答案 0 :(得分:3)
有一点可以解决您的问题并加速您的脚本,如果不是将您自己的数据格式解析为文本,您应该使用内置的JSON格式。只需将'datatype'参数更改为'json'即可在jQuery中支持此功能。这样您就可以使用'result'var从服务器访问结果,而无需进行任何字符串匹配。
本质上,您返回的JSON格式字符串应如下所示:
{ key1: 'some value', key2: 'some value'}
您可以使用结果[key1],结果[key2]在您的成功函数中访问它。
创建JSON服务器端非常简单,我不确定您使用的是哪种语言,但很多语言都内置了JSON编码功能。
答案 1 :(得分:1)
通过更改mimeType解决了问题!