我正在构建一个jQuery Mobile和PhoneGap应用程序。
以下是我从外部服务器查询数据的一些代码:
function showDetail(stationID){
$('#itemDetail').load('http://www.mywebsite.com/detailPage.php?stationId='+stationID, function(){
});
它在我的本地计算机WAMP服务器上运行良好,但是当我编译脚本并在实际设备Android上运行时,它不起作用。同样的事情也适用于这种形式:
$('#addStationForm').on('submit', function(e) {
$.post( 'http://www.mywebsite.com/add_parser.php', $(this).serialize(), function(response) {
alert( response );
});
// disable default action
e.preventDefault();
});
此外,我已将我的服务器列入白名单,因此这不是问题。
非常感谢任何帮助,谢谢。
答案 0 :(得分:0)
您是否尝试从服务器获取数据并将其加载到dom元素中?
如果是这样,请使用.ajax函数执行http请求以从服务器获取数据。
使用好的示例检查以下文档 http://api.jquery.com/jQuery.ajax/
还提供有关您要请求接收的数据类型的更多信息,以帮助您进一步配置ajax调用参数。
您也可以使用getJSON,但这取决于您的数据和需求。
修改强>
Post是ajax功能的简写。 确保您的PHP在标题中确实具有正确的内容类型。这非常重要 像:
header("Content-Type:text/plain");
或
header("Content-Type:text/html");
根据您的需要,想要。
您也可以使用firebug或其他任何工具调试HTTP响应,并告诉我们您的内容。
还尝试使用该函数的详细选项,试一试。确保正确指定 dataType 和数据参数。
$.ajax({
type: "POST",
url: url,
data: data,
dataType: "html" // DATA TYPE is ALSO VERY IMPORTANT
})
.done(function() {
alert( "success" );
})
.fail(function( XMLHttpRequest, textStatus, errorThrown ) {
alert("Status: " + textStatus); alert("Error: " + errorThrown);
});
另外,当你说“当我编译脚本并在实际设备上运行时,Android,它不起作用。”,你得到了什么错误?使用http请求的FAIL功能打印错误(如上例所示)。