2016-03-06 37 views
2

我使用下面的代码发送POST请求REST Web服务:第三个参数是不工作

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

Web服务提供了以下格式的JSON响应:

{"tag":"login","status":true} 

从jQuery代码调用运行,即Web服务运行良好,但我已经创建了解析JSON的功能无法正常工作。

注意: 我试图运行此代码,但未在文本字段中提供任何值。控制台显示了json响应和console.log行。但是当我再次将价值观念输入到领域时,它就没有了。我无法理解这件事。

任何人有任何想法? 在此先感谢。

+0

未来是否功能只是不能运行,或者它抛出一个错误? $ .post将尝试猜测响应类型,因此数据可能已经是JSON对象,$ .parseJSON可能会让事情变得糟糕。什么数据打印,就像你console.log它(在$ .parseJSON调用之前)? – temporalslide

+0

因此,文档显示如何启用错误处理程序...它告诉你什么?什么是'$(“#logbutton”)'?可能需要阻止表单提交 – charlietfl

+0

开发者控制台中的任何错误? –

回答

0

你可以使用$.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); 
    }); 
    }); 
}); 

这将是您更容易找出错误所在,从

+0

'contentType'是不正确的,除非你串数据和OP期望json在帖子主体 – charlietfl

+0

谢谢,我我不确定自己。编辑! – cl3m

相关问题