私は、Windows Phone クライアントによって使用され、機能している c# で記述された Web サービスを持っています。
だから私は同じ asmx サービスと作品を使用する html5/jquery を開発します!
リモート マシン (ページとサービスのホスト以外) からこの html ページにアクセスしようとすると、失敗します。
このシナリオのための特別な構成はありますか?
唯一の違いは、webservice への ajax 呼び出しのアドレスの 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.");
}
});
何か助けはありますか?前もって感謝します...