我有这个edit_FName& edit_LName代表asp.net文本框:
$.ajax({
type: "POST",
url: document.URL + "/EditName",
data: "{fName:'" + edit_FName.val() + "'" +
",lName:'" + edit_LName.val() + "'}",
我需要它来允许名字中的单引号和双引号。我有点想我需要使用stringify,但我不能让它按照我想要的方式行事。我试过了:
$.ajax({
type: "POST",
url: document.URL + "/EditName",
data: "{fName:'" + JSON.stringify(edit_FName.val()) + "'" +
",lName:'" + JSON.stringify(edit_LName.val()) + "'}",
etc...
但这根本不起作用,所以我想我不知道我应该如何使用stringify来汇总数据。
答案 0 :(得分:2)
我认为你想要的是
...
data: JSON.stringify({fName:edit_FName.val(),
lName:edit_LName.val()}),
...
答案 1 :(得分:0)
一个问题是你需要围绕fName引用,例如。
$.ajax({
type: "POST",
url: document.URL + "/EditName",
data: "{'fName':'" + edit_FName.val() + "'" +
",'lName':'" + edit_LName.val() + "'}",
答案 2 :(得分:0)
它是如何工作的? 从查看代码开始,我的第一个猜测是语法错误。我通常通过玩REPL解决/弄清楚这些问题。试试Firebug。
如果安装了JSON库,JSON.stringify看起来会起作用。
我认为您可以使用ajax调用的dataType:“JSON”选项来获得相同的结果,结果代码看起来像这样。
$.ajax({
type: "POST",
url: document.URL + "/EditName",
dataType:"json",
data: {fName:edit_FName.val(),
lName:edit_LName.val()}});
手动转义或构建json数据是一个坏主意,即使这被发送回服务器,它将以不同的方式处理。如果您构建此服务器端并将其发送到客户端,则这是脚本注入的绝佳机会