我想将Json发布到同一服务器上的web服务。但我不知道如何使用JQuery发布Json。我试过这个密码:
$.ajax({
type: 'POST',
url: '/form/',
data: {"name":"jonas"},
success: function(data) { alert('data: ' + data); },
contentType: "application/json",
dataType: 'json'
});
但是使用这个JQuery代码,数据在服务器上不会作为Json接收。这是服务器上的预期数据:{"name":"jonas"}
,但使用JQuery服务器接收name=jonas
。或者换句话说,它是“urlencoded”数据,而不是Json。
有没有什么方法可以使用JQuery以Json格式而不是urlencoded格式发布数据?还是必须使用手动ajax请求?
我尝试了宁芬的解决方案,但直到我调整了它才对我起作用-见下文。移除contentType,不编码json数据
基于lonesomeday的答案,我创建了一个包装特定参数的
jpost
。用法:
您传递的是一个对象,而不是JSON字符串。传递对象时,jQuery使用^{} 将对象序列化为名称-值对。
如果将数据作为字符串传递,则不会对其进行序列化:
相关问题 更多 >
编程相关推荐