[英]Web Service in MVC app
我對MVC應用程序中包含的Web服務有很大的疑問。 我制作了一個MVC應用,並將其托管在IIS 7.0上。 一切正常。 比我必須將Web Service(當然,它可能是WCF,現在已經存在WS)添加到該項目中。 因此,在Visual Studio 2010中,我添加了新項,為當前項目選擇了Web服務。 在開發機上,可以。 一切都很好。 但是,當我嘗試將整個項目發布到IIS(位於另一台服務器上)時,MVC應用程序看不到WS。
這就是我在MVC中稱呼WS的方式:
$('#test').click(function test2() {
alert('start');
$.ajax({
type: "POST",
url: "/../WebServicePrzeczytany.asmx/HelloWorld",
data: "{}",
dataType: "xml",
success: function suc(msg) {
alert("recieved: " + msg.text);
},
faild: fail
});
alert('stop');
});
function fail() {
alert("doesn't work");
};
如您所見,它是jquery。 但是我的問題是:為什么它不起作用? 我應該在IIS上設置或配置某些東西嗎?
如有任何幫助或提示,我將不勝感激。
馬辛
您的Web服務網址不正確。 “ /../WebServicePrzeczytany.asmx/HelloWorld”,您的應用應指向已發布的Web服務,而不是上面的相對URL。 網址應類似於http://someipaddressordomainname/WebServicePrzeczytany.asmx/HelloWorld
您的網址看起來很奇怪。 在發布之前,您是否嘗試過指定絕對URL( http://example.com/some/path/WebServicePrzeczytany.asmx/HelloWorld )?
您正在執行的方法違反了跨域策略,即您通過javascript調用或執行對Web服務的客戶端調用。 但是,如果您要滿足以下條件,那么如果要使用JSONP通過ajax執行或調用服務,則已經存在一種方法:
* 您可以控制您的Web服務代碼,即可以修改代碼並針對JSONP對其進行自定義
* 您將所有Web服務響應都包裝到JSONP回調中。
有關更多信息,請參見http://api.jquery.com/jQuery.ajax/
沒有JSONP,它將在本地運行,但是如果您處於實時環境中,將無法正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.