AJAX调用Web服务返回[object Object]

时间:2014-06-16 13:41:37

标签: javascript jquery ajax web-services

我正在尝试使用jQuery和AJAX调用webservice(URL),来自webservice的响应是一个普通的字符串,用户名和密码是webservice中的查询参数,这是我的代码:

<script>
    $(document).ready(function(){
        $(".signup").click(function(){
            $.ajax({  
           type: "GET",  
           url: "http://ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com:8080/UserManagement/rest/user_details/sign_in/?username=saurabh&password=hi", 
           dataType: "text",           
           success: function(resp){  
             // we have the response
             alert(resp);  
           },  
           error: function(e){  
             alert('Error121212: ' + e);  
           }  
         });
        });
    });
    </script>

我收到错误[object Object]

为什么我会遇到这个错误?代码中是否有任何错误或某些更精确的需要集中注意力?请帮助

1 个答案:

答案 0 :(得分:1)

查看the documentation

  

错误
  类型:函数(jqXHR jqXHR,String textStatus,String errorThrown)

您正在使用第一个参数(error: function(e){ alert('Error121212: ' + e);),因此尝试将jQuery XMLHttpRequest对象转换为字符串。它不会干净地转换,因此您可以获得将通用对象转换为字符串的标准结果。

请改为查看第三个参数。

还要考虑检查参数是否为对象:

  • 不使用+运算符(当LHS为字符串时将其转换为字符串)
  • 不使用alert(将它们转换为字符串)。

这样:

error: function(jqXHR, textStatus, errorThrown){  
    alert("There was an error. Look in the browser's JS console for details.");  
    console.log(jqXHR);
    console.log(textStatus);
    console.log(errorThrown);
}  

你应该检查JS控制台,因为它可能会给你一个跨源的错误信息。 (使用搜索引擎可以轻松找到解决方案)。