Javascript $.post()的第三个参数不起作用
我正在使用以下代码向REST web服务发送post请求:Javascript $.post()的第三个参数不起作用,javascript,jquery,json,web-services,post,Javascript,Jquery,Json,Web Services,Post,我正在使用以下代码向REST web服务发送post请求: <script type="application/javascript"> $(document).ready(function() { $("#logbutton").click(function(event){ $.post( "http://localhost:8080/CredentialsOnDemand/loginexpert/dologin",
<script type="application/javascript">
$(document).ready(function() {
$("#logbutton").click(function(event){
$.post(
"http://localhost:8080/CredentialsOnDemand/loginexpert/dologin",
{
ephone: $("#mobile").val(),
epassword: $("#password").val()
},
function(data) {
data = $.parseJSON( data );
$(".ray").html("$" + data.tag);
console.log( "You clicked a paragraph!" );
}
);
});
});
来自jquery代码的调用正在运行,即web服务运行良好,但我创建的用于解析JSON的函数不起作用
注:
我试图运行此代码,但没有在文本字段中提供任何值。控制台显示json响应和console.log行。但当我再次在字段中输入值时,它没有。我无法理解这件事
有人知道吗?
提前感谢。您可以使用
$尝试更详细的表单。ajax
:
$(document).ready(function() {
$("#logbutton").click(function(event) {
var req = {
ephone: $("#mobile").val(),
epassword: $("#password").val()
};
$.ajax({
url: "http://localhost:8080/CredentialsOnDemand/loginexpert/dologin",
data: req,
dataType: 'json',
type: 'POST'
}).done(function(data) {
console.log(data);
$(".ray").html("$" + data.tag);
console.log("You clicked a paragraph!");
}).fail(function(err) {
console.error(err);
});
});
});
这将使您更容易确定错误的来源函数是否只是不运行,还是抛出错误?$。post将尝试猜测响应类型,因此数据可能已经是JSON对象,$.parseJSON可能会把事情搞砸。数据的打印方式与console.log类似(在$.parseJSON调用之前)?因此,文档说明了如何启用错误处理程序……它告诉了您什么?什么是
$(“#logbutton”)
?可能需要在开发者控制台中防止表单提交错误?我不确定您是否需要解析响应,您可以跳过data=$.parseJSON(data)代码>行我同意@cl3m。如果服务器返回json格式的数据,则无需再次解析。contentType
是不正确的,除非您对数据进行字符串化,并且OP在post Body中需要json谢谢,我自己也不确定。编辑!
$(document).ready(function() {
$("#logbutton").click(function(event) {
var req = {
ephone: $("#mobile").val(),
epassword: $("#password").val()
};
$.ajax({
url: "http://localhost:8080/CredentialsOnDemand/loginexpert/dologin",
data: req,
dataType: 'json',
type: 'POST'
}).done(function(data) {
console.log(data);
$(".ray").html("$" + data.tag);
console.log("You clicked a paragraph!");
}).fail(function(err) {
console.error(err);
});
});
});