带有未定义/对象文档的AJAX响应

时间:2013-08-03 03:07:37

标签: javascript jquery html ajax

  1. 我的第一个问题是我有这个脚本与我的服务器进行表格交换。服务器能够读取表单并发送响应。当我尝试打印回复时,下面显示我收到的内容。

    $( '#myForm的')的HTML(响应)。 //没有回应 alert(响应)//它总是以[object Document]返回我。

  2. 因此,当我将其更改为以下内容时,它会显示我收到的内容:

    $('#myform').html(response.xml);//it will return me with the xml value from my server
    alert(response.xml)//normal xml value.
    

    我可以在eclipse网页浏览器中打印出来但不能在任何其他浏览器(IE,firefox,chrome)上打印出来,它会以未定义的方式返回给我。 我做错了什么?我的服务器将使用html代码返回我:

    <table><tr><img src=https://lh6.googleusercontent.com/--WAwSUUNAG8/UdOVEZvpnuI/AAAAAAAABIk/aV-NzcMN2zg/s800/g.gif></tr></table>
    

    2。第二个问题是如何将响应打印为html(表示表)而不是明文。

    以下是java脚本代码:

    <script>
    $(function() {  
      $(".button").click(function() {  
          var clin=$("input#client").val();
                  var us=$("input#username").val();
                  var dataString='client='+clin+'&username='+us;
          var res;
            $.ajax({  
                  type: "POST",  
                  url: "http://localhost:8080/services/web?wsdl/authen",  
                  data: dataString, 
                  success: function(response) {
                    $('#myform').html(response);
                    alert(response);
                  }  
                }); 
                return false;   
      });  
    });  
    </script> 
    

    这是服务器网络服务:

    <xs:element name="authen">
         <xs:complexType>
              <xs:sequence>
                   <xs:element name="client" type="xs:string" nillable="true" minOccurs="0"/>
                   <xs:element name="username" type="xs:string" nillable="true" minOccurs="0"/>
              </xs:sequence>
         </xs:complexType>
    </xs:element>
    
    <xs:element name="authenResponse">
         <xs:complexType>
              <xs:sequence>
                   <xs:element name="return" type="xs:string" nillable="true" minOccurs="0"/>
             </xs:sequence>
         </xs:complexType>
    </xs:element>
    

2 个答案:

答案 0 :(得分:0)

您调试该响应以查看其中的内容。

请尝试

dataType:'html',
success : function(data, status, response) {
    var obj = $("<div/>").html(response.responseText);
    $('#myform').html(obj.find("ns:return").html());
    alert(response.responseText);
}

并查看jQuery API Document

添加了dataType。

答案 1 :(得分:-1)

你的问题还不清楚,在我看来你的答案是不确定的,那就是你的问题。也许尝试改变

"http://localhost:8080/services/web?wsdl/authen"

"/services/web?wsdl/authen"

或改变

data: dataString,

data: {
  client: clin,
  username: us
}