0

我正在尝试在 Android 上的 phonegap 上开发应用程序。

我想要做的是从我的应用程序中调用一个 web 服务,这将用于数据访问。

我在网上找到了很多关于如何做到这一点的表格,我能找到的最简单的一张看起来很简单,就像这样

<script type="text/javascript">
 $(document).ready(function() {
  $.ajax({
type: "POST",
url: "http://www.webservicex.net/stockquote.asmx/GetQuote",
data: "{'usd'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {

  // Insert the returned HTML into the <div>.
  $('#Content').html(msg.d);
}
 });
});

但是,我只能看到我已经放入 div 的文本,div 的内容没有改变。我直接在 Galaxy SIII 设备上进行测试,而不是在模拟器上。

4

1 回答 1

1

我的猜测是似乎什么都没有发生,因为你得到的是 a fail,而不是 a success。尝试添加一个错误处理程序,看看会发生什么。

.fail(function() { alert("error"); })

您可能遇到“跨域”问题(因为您试图从不同的域获取 ajax)并且可能需要使用JSONP而不是JSON用于您的 dataType。有关 的更多信息JSONP,请参阅此帖子文档

编辑:

这是此代码的实际操作。

$(document).ready(function() {

//here is one way using the 'error' handler
    $.ajax({
        type: "POST",
        url: "/failOnPurpose",
        data: "{'usd'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        error:function(jqXHR, textStatus) { 
            alert("error:" + textStatus); 
        },
        success: function(msg) {        
          // Insert the returned HTML into the <div>.
          $('#Content').html(msg.d);
        }    
    });

//here is another way using the 'fail' request handler
    $.ajax({
        type: "POST",
        url: "/failOnPurpose",
        data: "{'usd'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",            
        success: function(msg) {        
          // Insert the returned HTML into the <div>.
          $('#Content').html(msg.d);
        }    
    }).fail(function(jqXHR, textStatus) {
              alert( "fail: " + textStatus );
    });

});​
于 2012-10-19T16:41:33.467 回答