1
所以我有以下工作:
$.ajax({
type: 'POST',
url: 'user',
data: '{"FirstName":"John","LastName":"Doe"}',
contentType: "application/json",
dataType: 'json',
success: function (data) {
alert('success!' + data.Id);
}
});
但是失败(这应该是等价的):
$.post('user', '{"FirstName":"John","LastName":"Doe"}');
任何想法有什么不对? $ .post不知何故与WCF休息不兼容?
嗨达林,这是否意味着: $ .post('user',{“FirstName”:“John”,“LastName”:“Doe”}) 应该工作,因为我不再使用单引号.post期望一个json对象? – ymerej 2012-01-11 22:14:38
@杰瑞米,我不明白你在问我什么。你在谈论'JSON.stringify'方法吗?你只能在'.ajax'中使用它,因为这允许你指定内容类型。用'$ .post'来使用它是没有意义的。我再说一遍:'$ .post'不允许你将请求的内容类型设置为'application/json'。如果没有这个HTTP请求头,服务器就不会收到您的请求。所以使用'$ .ajax'。就这么简单。忘掉这个'$ .post' =>这是为了执行'application/x-www-form-urlencoded'这样的请求,例如提交HTML表单和东西给ASPX页面。 – 2012-01-11 22:15:35
我可以使用$ .ajax,但是我希望更快的速度和$ .post似乎是正确的答案(根据http://api.jquery.com/jQuery.post/),但我会坚持$ .ajax像你说的。谢谢。 – ymerej 2012-01-11 22:18:52