0

我正在构建一个 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();
});

我也将我的服务器列入白名单,所以这不是问题。

任何帮助将不胜感激,谢谢。

4

1 回答 1

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 响应,并让我们知道您得到了什么。

也尝试使用函数的详细选项,试一试。确保正确指定dataTypedata参数。

$.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 函数打印错误(如上例所示)。

于 2013-09-17T03:00:38.337 回答