在PhoneGap中进行HTTP GET的最佳方法是什么?我不想为此使用Java,所以现在的问题是它是应该在jQuery中还是在JavaScript中完成。我读到PhoneGap中的JavaScript主要用于UI事件。有没有其他方法可以在PhoneGap中完成HTTP GET?
编辑:在Andrew Lunny撰写的书中( PhoneGap初学者指南),作者提到并提供了有关如何利用Twitters搜索API访问远程资源的示例 - 向服务器发出HTTP请求。在这种情况下,它对我来说不是很有用,因为他将JSON对象作为服务器的响应。在我的应用程序中,我需要严格的HTML身体作为回应。 编辑(由codemonkey和Simon MacDonald提出):<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.3.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js"></script>
<script type="text/javascript">
$.get('http://www.google.com', function(data) {
alert(data);
});
</script>
在这种情况下,提案中提出了问题:
我应该使用外部库(jQuery-mobile / jQuery)还是将它们包含在项目中更好。当然,对于第一个提案,我会强制用户每次强制使用它们时下载库,这样效率有点低,或者我应该将它们包含在项目中?在这种情况下,项目(文件系统)中放置jQuery库的正确位置是什么,' www ',' libs ',' res '等等?
与Simon MacDonald的提议一样:
<script>
function get() {
var request = new XMLHttpRequest();
request.open("GET", "http://www.google.com", true);
request.onreadystatechange = function() {
if (request.readyState == 4) {
if (request.status == 200 || request.status == 0) {
// -> request.responseText <- is a result
}
}
}
request.send();
}
</script>
优势:不需要额外的库
答案 0 :(得分:4)
嗯,你可以使用安德鲁写的内容,因为没有理由不能从远程网址获取html代码而不是JSON代码。您可以使用jQuery来执行GET,但如果您不需要添加该库,则可以直接使用XHR。
这是我写的快速教程:
http://simonmacdonald.blogspot.com/2011/12/on-third-day-of-phonegapping-getting.html
在线:
var tweets = JSON.parse(request.responseText);
你会这样做:
var myBody = request.responseText;
因为它是您请求的页面的完整HTML。
答案 1 :(得分:0)
我认为jQuery是你最好的选择。 PhoneGap不提供任何可以发出GET请求的内容。它的主要作用是允许您的HTML / JS应用程序访问本机资源。