JavaScript运行时错误:NetworkError

时间:2013-06-07 03:33:53

标签: javascript jquery web-services

我的网络服务有问题,我不能在偏远的地方使用它。

这是我的代码:

<script>
$("form").submit(function (event) {
event.preventDefault();
var result = new XMLHttpRequest;
var URL="http://www.webservice.nextstagecode.com/checkUser.ashx?user=" + $('#email').val() + "&password=" + $("#pass").val();

result.open("GET", URL,false);
result.send();
var resultString = JSON.parse(result);

var sample = [];

for (var n = 0; n < resultString.length; n++) {
    sample[n] = { respuestalocal: resultString[n].respuesta };
}

if (sample[0].respuesta == 1) {
    $(location).attr('href', 'menu.html');
}
else {
    $("#error").css("text-align", "center").css("font-size", "0.6em").css("color", "red").html("Usuario o clave incorrecta");
}</script> 

例如,这是user=prueba@cuenta.com&amp;你可以试试password=prueba

2 个答案:

答案 0 :(得分:1)

你有(至少)我能看到的两个问题:

  1. 同源政策。由于same-origin policy,您无法使用XMLHttpRequest向其他域请求数据。如果您可以控制其他域并且可以限制对较新浏览器的访问权限,则可以使用cross-origin resource sharing

  2. 尝试将XMLHttpRequest用作字符串。

    var resultString = JSON.parse(result);
    

    result视为字符串,但result不是字符串;它是一个XMLHttpRequest对象。您可能打算使用result.responseText,其中 是一个字符串。

答案 1 :(得分:0)

如果您尝试进行跨域AJAX调用,则由于JSONP,您需要使用Same-Origin Policy而不是JSON。

如果你在同一个域名,请确保你发回适当的标题,对于json / jsonp,这些将是:

header('content-type: application/json; charset=utf-8');

它应该放在你的php文件的最开头。

还要确保使用php中的json_encode()函数以JSON格式正确编码您发回的数据。