我有宁静的网络服务。我想从android中的ajax(使用webview)获取当地的json。 这是app android
中htmt文件中的代码ajaxfunction Get(){ $ .ajax({
url: "[http://localhost:31132/api/Customer][1]",
type: "GET",
dataType: "json",
success: function (data) {
$('#d').append("sucess");
},
error: function (request, status, error) {
$('#d').append(error);
}
});
}
此代码在浏览器上运行良好。但它不能在android中运行。模拟器android使用API级别10.
谢谢:D
答案 0 :(得分:0)
默认情况下,WebView不提供类似浏览器的小部件,不会启用JavaScript并忽略网页错误。
你做过:
webview.getSettings().setJavaScriptEnabled(true);
更新如果Web服务未按标准Android浏览器运行,那么它不会与WebView一起运行就不足为奇了。虽然问题仍然是您是否将浏览器配置为将自己标识为Android或“桌面”。我没有详细研究过您发布的视频,但我得到的印象是您使用某些(Microsoft?)框架自己编写了Web服务。关键问题是:此框架如何处理Android请求,例如:关于它发送的用户代理(浏览器标识)。一般来说,Android上的JavaScript支持相当不错,编写良好的AJAX库可以处理各种平台。因此,我要做的第一件事就是
答案 1 :(得分:0)
在Web服务URL中,尝试使用10.0.2.2而不是localhost。 localhost或127.0.0.1指向模拟器/ android设备,而10.0.2.2是主机环回接口的特殊别名(即开发计算机上的127.0.0.1)。
尝试使用http://10.0.2.2:31132
代替http://localhost:31132