0

我们正在使用 PhoneGap 开发一个跨平台应用程序。有一次,它向相对路径发出 AJAX 请求,这在 Android 和 iOS 上都可以正常工作,但在 Windows Phone 上却不行——它会得到 404 响应。绝对 URL 可以正常工作。以下代码:

var a = document.createElement('a');
a.setAttribute('href', 'personalData.html');
console.log(a.href);

也解析为正确的绝对 URL。但是,以下内容:

var xhr = new XMLHttpRequest();
xhr.open("GET", "personalData.html", true);
xhr.onreadystatechange = function () {
    if (xhr.readyState === 4) {
        console.log(xhr);
    }
};

返回 404。我想知道发生了什么。有什么方法可以知道 XHR 请求的绝对路径是什么?

4

3 回答 3

0

在这些情况下,Fiddler Web Debugger是无与伦比的。它会准确地告诉你请求在做什么。

它也适用于 Windows Phone 模拟器。要调试实际设备,请将 Fiddler 设置为接受外部连接并将 Fiddler 指定为手机上的代理。我已经完成了这两种情况,工作正常。

试一试。

于 2012-05-09T09:31:18.753 回答
0

XMLHttpRequest 是由 Microsoft 设计并被 Mozilla、Apple 和 Google 采用的 JavaScript 对象,它与 Phonegap 无关。

https://developer.mozilla.org/en/DOM/XMLHttpRequest

说到这里,您可以尝试使用像 Fiddler 这样的 http 代理来查看所有 http 流量。

http://www.fiddler2.com/fiddler2/

此致。

于 2012-05-09T09:47:53.110 回答
0

我在我的项目(Phonegap/WinPhone7)中尝试了您的代码,并且您的代码在我初始化请求()之前没有得到任何东西xhr.send();

如果没有这种方法,我不知道你是如何提出请求的。

于 2013-07-29T16:14:18.870 回答