我正在进行像这样的Ajax调用
var data = { fn: "course_signup", cid: 1249, cemail: emaifield };
$.ajax({
type: "POST",
url: "/AjaxHandler",
data: data,
success: function(data) {
},
error: function(xmlHttpRequest, textStatus, errorThrown) {
},
complete: function(data) {
}
});
你可以看到cemail
字段中有一个“@”,浏览器会抛出javascript错误
Error: SyntaxError: illegal character
Source Code:
var data = { fn: "course_signup", cid: 1249, cemail: as@asd.com
答案 0 :(得分:4)
该电子邮件地址应为字符串:
var data = { fn: "course_signup", cid: 1249, cemail: "as@asd.com" };
^ ^
任何不是Number,Boolean或Object的值都应该用引号括起来。阅读不同的Javscript Data Structures,了解如何构建数据。
答案 1 :(得分:2)
用双引号写下电子邮件:
var data = { fn: "course_signup", cid: 1249, cemail: "as@asd.com" };
答案 2 :(得分:2)
你需要创建一个字符串:
var data = { fn: "course_signup", cid: 1249, cemail: "as@asd.com" };
答案 3 :(得分:2)
这与jQuery没有任何关系。您的问题是它不是有效的javascript对象文字语法。
字符串必须用引号括起来。 (键除外,如果它们具有有效的变量名称)。
这是无效的(除非在范围内有一个名为lol
的变量):
var obj = {hey: lol};
这是
var obj = {hey: "lol"};
如果你的密钥不是有效的var名称,也可以引用它
var obj = {"123 hey there": "lol"};