Javascript $.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",

我正在使用以下代码向REST web服务发送post请求:

 <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);
    });
  });
});