我的web服务出现了问题,我无法从远程位置使用它。
这是我的代码:
<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。
发布于 2013-06-07 11:44:11
如果您正在尝试进行跨域AJAX调用,那么由于Same-Origin Policy的原因,您需要使用JSONP而不是JSON。
如果您在同一个域中,请确保发回适当的标头,对于json/jsonp,这些标头为:
header('content-type: application/json; charset=utf-8');它应该放在php文件的最开始。
另外,通过使用php中的json_encode()函数,确保您发送回的数据以JSON格式正确编码。
发布于 2013-06-07 11:42:17
我可以看到你(至少)有两个问题:
XMLHttpRequest从其他域请求数据。如果您可以控制其他域,并且可以限制对较新的浏览器的访问,则可以使用cross-origin resource sharing.XMLHttpRequest 作为字符串使用。var resultString =JSON.parse(结果);
将result视为字符串,但result不是字符串;它是XMLHttpRequest对象。相反,您可能打算使用result.responseText,它是一个字符串。
https://stackoverflow.com/questions/16975823
复制相似问题