【发布时间】:2011-04-11 14:53:00
【问题描述】:
我有一个适用于 Android、iPhone、Blackberry torch 和 webkit 浏览器的 ajax 函数。我试图在各种版本 5 和 6 黑莓模拟器上对此进行测试,但总是调用错误处理程序。
例如消息框中的响应是:错误,完成。
函数返回的错误是: '错误-状态:错误 jqXHR 状态:0 ResponseText:'
而所有其他设备都是:成功完成。
我必须为黑莓做一些特别的事情吗?
$(document).ready(function () {
//Login form Login link click
$("#login a.login").click(function () {
//Call the approve method on the code behind
$.ajax({
type: "POST",
url: "Login.aspx/LoginUser",
data: "{'Username':'admin', 'Password':'admin' }", //Pass the parameter names and values
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
error: function (jqXHR, textStatus, errorThrown) { alert("Error- Status: " + textStatus + " jqXHR Status: " + jqXHR.status + " jqXHR Response Text:" + jqXHR.responseText) },
success: function () { alert('success'); window.location.href = "Index.aspx"; },
complete: function () { alert('complete'); }
});
});
});
【问题讨论】:
-
尝试将您的错误函数编辑为like this one,看看是否能提供更多有用的信息。发回它告诉你的内容。
-
@Core.B - 我之前确实有一个这样的错误处理程序,但为了简单起见我删除了它。请参阅对原始问题的编辑以显示更新的代码和返回的错误消息
-
你能从模拟器浏览任何外部网站吗?您可以在浏览器中访问您的 Login.aspx 页面吗?我假设您在前面使用带有“http://”的完整网址。我知道错误状态为 0 的唯一原因是浏览器无法访问外部站点。
-
@Core.B - 我刚刚使用外部站点进行了测试,它们工作正常,我也可以使用 BB 模拟器浏览到在本地 IIS 上运行的站点。你过去有没有在黑莓模拟器上工作过任何 ajax?我确定它只是黑莓是垃圾,因为它可以在所有其他手机上运行,只是不必为 BB 提供一组没有 ajax 的单独页面
-
我从未尝试过这样做,但请尝试自己构建 XMLHTTPRequest 对象并进行调用以测试 Blackberry 或 JQuery 是否存在问题。
标签: jquery ajax blackberry jquery-mobile