xhr与黑莓上的phonegap

时间:2010-07-20 21:51:32

标签: blackberry cordova xmlhttprequest xui

我正在尝试使用黑莓上的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进行开发环境。当我尝试发出请求时,没有错误被抛出任何建议?

1 个答案:

答案 0 :(得分:2)

我为phonegap-blackberry项目贡献了很多,在我的所有测试中,由于某种原因,当你调用open()函数时,XmlHttpRequest对象总是引发一个空异常。我不确定为什么 - 当前形式的phonegap-blackberry利用RIM专有的非WebKit浏览器,所以可能与它有关。

我所做的是实现一种非常基本的,基于Java的本地方法来发出HTTP请求和检索响应。它作为“网络”PhoneGap API的一部分,在您的PhoneGap应用程序中桥接回JavaScript。有关此信息,请访问:http://wiki.phonegap.com/Known-issues-(BlackBerry)

注意:这绝对是权宜之计。实施很粗糙,绝对可以使用一些工作。目前,它仅适用于返回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.
    });

希望有所帮助。