我正在尝试在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设备,而不是在模拟器上测试。
答案 0 :(得分:1)
我的猜测是,似乎没有任何事情发生,因为你得到的是fail
,而不是success
。尝试添加错误处理程序,看看会发生什么。
.fail(function() { alert("error"); })
您可能遇到“跨域”问题(因为您尝试从其他域获取Ajax),并且可能需要使用JSONP
而非JSON
作为您的dataType。有关JSONP
的详细信息,请参阅this post或the docs
编辑:
Here is a fiddle此代码的实施。
$(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 );
});
});