我有一个用 c# 编写的 web 服务,供 Windows 手机客户端使用并且可以正常工作。
所以我开发了一个 html5/jquery 来使用相同的 asmx 服务和 Works!
当我尝试从远程机器(页面和服务的主机除外)访问此 html 页面时,它失败了。
这种情况有什么特殊配置吗?
唯一的区别是,从 ajax 调用到 webservice 的地址中的 localhost 更改为主机的固定 ip,我发布到电话设备时也是如此。
这是代码
$.ajax({
url: "http://localhost:8000/services/webservice.asmx/RetornaPedidoPorMesa",
type: "POST",
dataType: "text",
data: { NumeroMesa: parseInt(querystring("numeroMesa")),
CodigoSeguranca: parseInt(querystring("codigo")) },
success: function (response) {
var xml = $(response);
if (xml.find("Retorno").text() != "") {
var list = $("#pedido").find('ul');
$("#ulPedido li").remove();
list.append("<li>Voçê não tem permissão para acessar o pedido</li>");
} else {
if (xml.find("Total") != "") {
var list = $("#pedido").find('ul');
$("#ulPedido li").remove();
list.append("<li>" + "Mesa " + querystring("numeroMesa") + " - " + "R$ " + xml.find("Total").first().text() + "</li>");
}
if (xml.find("Items") != "") {
if (xml.find("RetornoItems") != "") {
var list = $("#produtos").find('ul');
$("#ulProdutos li").remove();
$(xml.find("RetornoItems")).each(function myfunction() {
if (parseInt($(this).find("Quantidade").first().text()) > 0)
list.append("<li>" + $(this).find("Descricao").text() + "<div style='float:right\;margin-left:30px;margin-top:10px'>" + parseInt($(this).find("Quantidade").first().text()) + " x R$ " + $(this).find("ValorUnitario").first().text() + " = R$ " + $(this).find("Total").first().text() + "</div></li>");
});
}
}
}
},
error: function (response) {
alert("erro de acesso ao serviço.");
}
});
有什么帮助吗?提前致谢...