字符串到asp.net web服务因为它是现在我创建一个JavaScript对象,然后字符串化它,把它放在一个隐藏的文本框,我后面的代码可以读取此字符串。然后我使用JSON.NET解析可以正常工作的字符串。我现在尝试使用ajax将其发布到我的Web服务,但在如何发送字符串时遇到了一些问题。我已经尝试了很多方法,但得到像如何通过使用jQuery/JSON/AJAX
Invalid JSON primitive: myString.
常见的错误,所以我检查了这一点http://encosia.com/2010/05/31/asmx-scriptservice-mistake-invalid-json-primitive/并将其与硬编码值的作品,但我想用一个变量。
JavaScsript创建对象:
for (var i = 0; i < results.rows.length; i++) {
var row = results.rows.item(i);
var customer = new Object();
customer.id = row['id']
customer.name = row['name']
var customerString = JSON.stringify(customer);
$.ajax({
type: "POST",
url: "synchronise.asmx/synchroniseCustomers",
data: "synchroniseCustomers: " + customerString,
contentType: "application/json; charset=utf-8",
dataType: "json",
error: function (xhr, status) {
alert("An error occurred: " + status);
},
success: function (msg) {
alert("success");
}
});
}
的WebMethod:
public void synchroniseCustomers(string customerString)
{
JObject o = JObject.Parse(customerString);
string id = (string)o["id"];
string name = (string)o["name"];
如果我使用data: '{ FirstName: "Dave", LastName: "Ward" }'
在上面的例子中的作品,但我想传递一个字符串代替。
有什么建议吗?
感谢
戴夫嗨,用数据:“{‘synchroniseCustomers’:” + customerString +“}” 我仍然得到同样的错误,我试图做“synchroniseCustomers:”(换地方了结肠),但随后得以通过在错误无效的对象,\ u0027:} \ u0027或\ u0027 \ u0027预期。 – Morgan 2010-10-29 03:27:39
昨天我看了那篇文章,并没有得到它的工作,但我现在做了,谢谢。 – Morgan 2010-10-29 03:35:27