首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript运行时错误: NetworkError

JavaScript运行时错误: NetworkError
EN

Stack Overflow用户
提问于 2013-06-07 11:33:53
回答 2查看 1.5K关注 0票数 0

我的web服务出现了问题,我无法从远程位置使用它。

这是我的代码:

代码语言:javascript
复制
<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 & password=prueba

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-07 11:44:11

如果您正在尝试进行跨域AJAX调用,那么由于Same-Origin Policy的原因,您需要使用JSONP而不是JSON。

如果您在同一个域中,请确保发回适当的标头,对于json/jsonp,这些标头为:

代码语言:javascript
复制
header('content-type: application/json; charset=utf-8');

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

另外,通过使用php中的json_encode()函数,确保您发送回的数据以JSON格式正确编码。

票数 0
EN

Stack Overflow用户

发布于 2013-06-07 11:42:17

我可以看到你(至少)有两个问题:

  1. Same-Origin策略。由于same-origin policy的原因,您无法使用XMLHttpRequest从其他域请求数据。如果您可以控制其他域,并且可以限制对较新的浏览器的访问,则可以使用cross-origin resource sharing.
  2. Attempting将 XMLHttpRequest 作为字符串使用。

var resultString =JSON.parse(结果);

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16975823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档