我正在尝试在黑莓手机上使用phonegap提交xhr。目前,当我提出它的请求时,它会默默地失败。我尝试了使用jQuery jQuery.getJSON(url , callback)

xhr对象

var xmlhttp = new XMLHttpRequest();

//callback function when XMLHttpRequest is ready
xmlhttp.onreadystatechange=function(){
    if(xmlhttp.readyState==4){
        if(xmlhttpForTGT.status==200){

            response = xmlhttpForTGT.getResponseText()
        }
        else{
            alert("Request Failed")
        }
    } 
}

xmlhttp.open("GET", url , true)
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
xmlhttp.send()
.

和xui

x$('#home').xhr(url, 
    {method: 'get',
    callback: function(){ alert('made request') }});
.

到目前为止,我无法让他们中的任何一个工作。还有其他人能够获得XHR的工作吗?我正在使用jre4.6.1,并使用Eclipse进行开发环境。我试图提出请求时没有错误,任何建议?

有帮助吗?

解决方案

我已经向PhoneGap-BlackBerry项目提供了很多贡献,并且在所有测试中,由于某种原因,XMLHTTPRequest对象始终在调用Open()函数时始终引发空异常。我不确定为什么 - 电流形式的PhoneGap-BlackBerry利用RIM的专有,非WebKit浏览器,所以也许与它有关。

我所做的是实现一个非常基本的,本机,java的方法,以使HTTP请求和检索响应。它将在PhoneGap应用程序中桥接回JavaScript作为“网络”PhoneGap API的一部分。有关这的一些信息在这里: http://wiki.phonegap.com/known -issues - (黑莓)

注意:这绝对是停止措施。实施是粗糙的,绝对可以使用一些工作。目前,它只适用于返回JSON的API端点。

使用:

navigator.network.XHR('http://www.mysite.com/myapi',
    'This is my POST data, or I could pass in "null" for empty POST data',
    function(response) {
        // This is my success callback.
        // Do something with the JSON response object here.
    });
.

希望有帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top