我正在尝试调用asmx Web服务,我在web.config中添加了Access-Control-Allow-Origin,我在phonegap白名单中添加了asmx url。
<script type="text/javascript">
$(document).on("ready",onDeviceReady);
function onDeviceReady(){
$.support.cors=true;
$.mobile.allowCrossDomainPages = true;
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
crossDomain:true,
dataType: "json",
url:"http://192.168.1.3:812/WebService1.asmx/ObtNegocios",
data: '{}',
success: function(msg) {
for(i=0; i < msg.d.length; i++)
{
$("#details").append($('<li/>').append($('<a/>').attr("href","prueba2.html?id="+msg.d[i].id.Timestamp+"-"+msg.d[i].id.Pid+"-"+msg.d[i].id.Increment+"-"+msg.d[i].id.Machine).text(msg.d[i].nombre)));
console.log(msg.d[i]);
}
$('#details').listview('refresh');
},
error: function(msg) {
alert(msg.d);
console.log(msg);
}
});
}
</script>
当我单击列表项以查看有关它的更详细信息时,会出现问题
选项文件:/// D:/workspace/pruebaPhonegap/assets/www/prueba2.html?id = 1375817236-10972-15564611-8618666 Access-Control-Allow-Origin不允许原点为null。
XMLHttpRequest无法加载文件:/// D:/workspace/pruebaPhonegap/assets/www/prueba2.html?id = 1375817236-10972-15564611-8618666。 Access-Control-Allow-Origin不允许使用null。
这些是Chrome控制台抛出的错误
答案 0 :(得分:3)
首先在真实设备上进行测试,它将解决您的问题。
检查你的config.xml并添加 <access origin="*" />
,如果你需要在浏览器中测试使用任何本地服务器(如果php xampp或wamp>
答案 1 :(得分:0)
如果服务器端是PHP,您可以在顶部添加以下行
标题(&#39; Access-Control-Allow-Origin:*&#39;);