外部服务器查询不起作用

时间:2013-09-16 23:55:33

标签: javascript android jquery jquery-mobile cordova

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

此外,我已将我的服务器列入白名单,因此这不是问题。

非常感谢任何帮助,谢谢。

1 个答案:

答案 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功能打印错误(如上例所示)。