我寫了一個非常簡單的wcf rest服務,當我通過fiddler向服務器發出請求時似乎工作正常,但從JQuery調用它時無法使其工作。從jquery調用wcf rest服務不起作用
服務:
[ServiceContract]
public interface IService1
{
[OperationContract]
[WebInvoke(Method = "POST",
UriTemplate = "customers/{regionId}",
ResponseFormat = WebMessageFormat.Json
)]
Customer[] GetCustomers(String regionId);
}
[DataContract]
public class Customer
{
[DataMember]
public Guid Id { get; private set; }
[DataMember]
public String Name { get; private set; }
public Customer(Guid id, String name)
{
Id = id;
Name = name;
}
}
public class Service1 : IService1
{
public Customer[] GetCustomers(String regionId)
{
return new[]
{
new Customer(Guid.NewGuid(), "john"),
new Customer(Guid.NewGuid(), "pete"),
new Customer(Guid.NewGuid(), "ralph")
};
}
}
我可以請求通過提琴手這項服務,並返回預期的JSON。但是,當我嘗試通過Firebug控制檯用JQuery ajax調用它時,它總是失敗。這裏是呼叫:
$就({ 類型: 「POST」, 數據: 「{}」, URL: 「http://127.0.0.1:8081/json/customers/1」, 的contentType: 「應用程序/ JSON;字符集= UTF-8」 , 數據類型: 「JSON」, 成功:功能(RES) {
警報( '成功');} , 錯誤:功能(XHR) { 警報( '失敗:' + xhr.responseText) ; } });
我總是收到失敗的警報,並且responseText始終爲空。任何想法將不勝感激。