Readystate总是0

时间:2012-04-21 06:10:16

标签: javascript android ajax soap cordova

我正在使用phonegap应用。我需要通过.net webservice验证用户。我正在使用ajax通过javascript验证和解析它。但是我被困在readystate,因为它总是返回。我从网上找到的可用解决方案中尝试了很多东西,但我做不到。

这是我的Javascript:

username = 'ksl';
password = 'ksl';
var soapMessage = 
        '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> \
        <soap:Body> \
        <CheckLogin xmlns="http://tempuri.org/"> \
        <UserName>' + username + '</UserName> \
        <Password>' + password + '</Password> \
        </CheckLogin> \
        </soap:Body> \
        </soap:Envelope>';

        $.ajax({
            url: validationURL,
            type: "POST",
            dataType: "xml",
            data: soapMessage,
            success: validate,
            contentType: "text/xml; charset=\"utf-8\"",
            error: function(xhr,status,error)
            {
            alert("state is:" + xhr.readyState);
            }
        }); 

        return false; 

这是我的网络服务响应:

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <CheckLoginResponse xmlns="http://tempuri.org/">
      <CheckLoginResult>string</CheckLoginResult>
    </CheckLoginResponse>
  </soap:Body>
</soap:Envelope>

任何回复都会有所帮助

1 个答案:

答案 0 :(得分:2)

好的..我发现了问题::

1)</soap:Body> \之后有空格,所以我删除了它。

2)我在html中进行了一些更改,它运行正常..

感谢您查看我的问题..