Jquery里面调用substr函数的时候报错

际遇_ 2014-03-15 05:05:02
function submit(obj, url) {
if ($(obj).is_validate()) {
var post = $(obj).serialize();
$.ajax({
type: "POST",
url: $(obj).attr("action"),
cache: false,
data: post,
success: function (data) {
alert(data);
if (data.substr(0, 1) == '{') {
data = jQuery.parseJSON(data);
if (data.state == 1) {
$.dialog({
message: data.message,
timeout: data.timeout || 3,
type: "success",
close_handler: function () {
if (url) {
location.href = url
} else {
window.location.reload(true);
}
}
});
} else {
$.dialog({
message: data.message || "操作失败",
timeout: data.timeout || 3,
type: "error"
});
}
} else {
$.dialog({
message: '操作失败',
timeout: 3,
type: "error"
});
}
}
})
}
return false;
}

表单异步提交 点击提交的时候浏览器会报错TypeError: data.substr is not a function
这里data.substr后面难道不能带参数? 想了好久都想不明白为什么不行。。。
希望有人解答一下,感激不尽。
...全文
596 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
际遇_ 2014-03-15
  • 打赏
  • 举报
回复
引用 6 楼 Return_false 的回复:
那就直接 访问 data.state 就可以,无需转换了
谢谢,好像确实是这样。
  • 打赏
  • 举报
回复
那就直接 访问 data.state 就可以,无需转换了
际遇_ 2014-03-15
  • 打赏
  • 举报
回复
引用 4 楼 Return_false 的回复:
直接弹出 alert(typeof data);看看是什么类型,如果为json,就不必再次转换了。
返回的是object
  • 打赏
  • 举报
回复
直接弹出 alert(typeof data);看看是什么类型,如果为json,就不必再次转换了。
螃蟹哥哥 2014-03-15
  • 打赏
  • 举报
回复
引用 1 楼 microlab2009 的回复:
stringvar.substr(start [, length ])
stringvar是字符串 而你的data是数组吧
我擦,处处能见到你的身影
际遇_ 2014-03-15
  • 打赏
  • 举报
回复
引用 1 楼 microlab2009 的回复:
stringvar.substr(start [, length ])
stringvar是字符串 而你的data是数组吧
{"state":0,"message":"\u6dfb\u52a0\u680f\u76ee\u5931\u8d25"} 返回的是这个 不是数组哦
嘻哈大咖秀 2014-03-15
  • 打赏
  • 举报
回复
stringvar.substr(start [, length ])
stringvar是字符串 而你的data是数组吧

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧