我正在尝试使用黑莓上的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进行开发环境。当我尝试发出请求时,没有错误被抛出任何建议?
答案 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.
});
希望有所帮助。