找出XMLHttpRequest正在请求的内容

时间:2012-05-09 09:14:13

标签: ajax windows-phone-7 cordova

我们正在使用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要求的绝对路径?

3 个答案:

答案 0 :(得分:0)

在这些情况下,Fiddler Web Debugger是无与伦比的。它会准确地告诉您请求的作用。

它也是works with the Windows Phone emulator。要调试实际设备,请设置FIddler接受外部连接并将Fiddler指定为手机上的代理。 我做了两个场景,工作正常。

试一试。

答案 1 :(得分:0)

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

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

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

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

最好的问候。

答案 2 :(得分:0)

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

我不知道你如何在没有这种方法的情况下提出要求。