Javascript Split (Bug?)
Javascript Split (Bug?)
我尝试在冒号处分割字符串并检查它是否成功。api.php返回一个JSON。
$.ajax({
type: "POST",
url: "api.php",
data: { "somedata": "123"},
success: function (data, status, xhr) {
if (data.indexOf("text") != -1) {
var meinjson = $.parseJSON(data);
for (var key in meinjson) {
if (meinjson.hasOwnProperty(key) && key=="text") {
text = meinjson[key];
text = text.replace(/'+/g, " ");
text = decodeURIComponent(text);
if (text.indexOf(":") !== -1) {
text = text.split(/:(.+)?/);
var text1 = text[0];
var text2 = text[1];
}
if (text2 == undefined || text1 == undefined || text1 == void 0 || text2 == void 0 || text1=="" || text2=="") {
alert("fail");
}
}
}
}
}
});
我无法解释为什么ie总是落在最后如果而不是firefox和chrome。数据的一个例子是:
{"command":"SENDTEXT","text":"Lorem+Ipsum","command":"SENDTEXT","text":"Lorem+Ipsum+dolor","specialcommand":"CONNECTACCEPT"}
您缺少一个}
。如果在success
函数的第一个if
之后缩进,您将看到。
使用逗号分隔,但数据中的"text"值不包含逗号。当它说"text":"Lorem+Ipsum"
时,实际值是"Lorem+Ipsum"
,它将不包括"text":
。
建议重构语句以利用错误检查。Undefined和void 0本质上是相同的。与空字符串一样,它们都是假值。
if (!text2 || !text1 )
{
alert("fail");
}
相关文章:
- str.split(someString).join(someOtherString)是否等效于替换
- 如何使用split()将1.18.0-AAA-1转换为1.18.0js
- how to split a string with ','
- 在javascript中使用split函数希望在页面加载时拆分url
- 在这个使用hasOwnProperty的对象扩展程序中有一个错误,I'我不确定那个bug是什么,也不确定这个扩展
- jQuery字符串使用split()方法在空格后拆分字符串
- 如何使用 num.toString 和 str.split 查找整数的最后一位数字
- 具有多个条件的Javascript.split()函数
- 如何在javascript中对以下字符串使用string.split()
- Javascript-具有Split功能的数组
- Socket.io客户端在使用名称空间时忽略端口[Bug?]
- angularjs formly submit bug in safari & IE 11
- Javascript:不使用.split()方法拆分字符串
- Bug修复放弃了Firefox插件Wikilook
- “*[attribute ^="string”是如何/为什么是有效的querySelector?(JS bug
- .split() 数据属性在应该工作的时候不起作用
- split(' ') 函数没有给出正确的结果 Javascript
- HTML5 Canvas drawImage ratio bug iOS
- Javascript String Split 方法中的 RegExp
- Javascript Split (Bug?)