我的网络服务有问题,我不能在偏远的地方使用它。
这是我的代码:
<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
。
答案 0 :(得分:1)
你有(至少)我能看到的两个问题:
同源政策。由于same-origin policy,您无法使用XMLHttpRequest
向其他域请求数据。如果您可以控制其他域并且可以限制对较新浏览器的访问权限,则可以使用cross-origin resource sharing。
尝试将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格式正确编码您发回的数据。