我正在開發一個win8應用程序,它應該使用託管在IIS上的WCF服務,但它不會... 注意:Web服務工作得很好。我在VS2012 WCF測試客戶端進行測試呢?這裏是我的代碼:如何在Windows8 HTML5/JS應用程序中使用WCF服務?
IService.cs:
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
[ServiceContract]
public interface IService
{
[OperationContract]
string SitePredmeti();
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Xml)]
List<Profesor> SiteProfesori();
}
我做了兩個方法:一個返回XML一個回報JSON只是這樣我就可以測試一個作品。無論WS返回json還是xml,我都可以在應用程序中使用。
我使用默認的SPLIT APP TEMPLATE作爲win8中的html5/JS應用程序,無需任何更改。現在我只需要使用wcf服務,稍後我將處理數據模板。
鏈接到我的IIS託管WCF:
http://localhost/InformatorWS/Service.svc
這裏是我試過到目前爲止:
var baseURl = "http://localhost/InformatorWS/Service.svc/SitePredmeti/";
var url = baseURl+Number1.value+"/"+Number2.value;
WinJS.xhr({ url: url }).then(function (r) {
var result = JSON.parse(r.responseText);
ResultSpan.innerHTML = result; });
錯誤我來到這裏是:
{"exception":null,"error":{},"promise":{"_oncancel":null,"_nextState":null,"_state":>{"name":"error","done":null,"then":null},"_listeners":null,"_value":{},"_isException":false,"_errorId":2},"id":2}
下一個我試圖通過jQuery的ajax調用它:
$(document).ready(function() {
jQuery.support.cors = true;
//Calling WCF Service using jQuery ajax method
$.ajax({
type: "GET",
async: "false",
url: "http://localhost/InformatorWS/Service.svc/SitePredmeti",
contentType: "application/json; charset=utf-8",
dataType: "json",
processData: true,
success: function (result) {
//AjaxSucceeded(result);
alert('ok')
},
error: alert('ne ok')
});
});
,當我鏈接的jquery
<script type="text/javascript" src="js/jquery-ui-1.8.9.custom.min.js"></script>
<script type="text/javascript" src="js/jquery-1.4.3.js"></script>
我得到三個例外:
Unhandled exception at line 10, column 2 in ms-appx://66b782f9-8814-4b8e-a2e3-d6e73893690a/js/jquery-ui-1.8.9.custom.min.js 0x800a1391 - JavaScript runtime error: 'jQuery' is undefined
(其中兩種 - 兩個警報在成功和錯誤)
Unhandled exception at line 8, column 9 in ms-appx://66b782f9-8814-4b8e-a2e3-d6e73893690a/js/default.js 0x800a1391 - JavaScript runtime error: 'alert' is undefined
任何人有任何想法我做錯了什麼?或者任何人都知道使用IIS上託管的WCF服務的任何方式?
非常感謝您提前。
在jquery UI之前包含jquery,它應該修復你的jquery未定義問題。你可以嘗試讓web服務上網,看看你是否可以使用瀏覽器來使用它。 –