从jquery调用wcf rest服务不起作用

时间:2009-11-03 19:59:45

标签: wcf json rest jquery

我已经编写了一个非常简单的wcf rest服务,当我通过fiddler向它发出请求时似乎工作得很好但是当我从JQuery调用它时我无法工作。

服务:

[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")                       
               };
    }
}

我可以通过fiddler向此服务发出请求,并返回预期的json。但是,当我尝试通过firebug控制台使用JQuery ajax调用它时总是失败。这是电话:

$。AJAX({         类型:“POST”,         数据:“{}”,         网址:“http://127.0.0.1:8081/json/customers/1”,         contentType:“application / json; charset = utf-8”,         dataType:“json”,         成功:函数(RES)         {
             警报( '成功');         },         错误:函数(xhr)         {               alert('failed:'+ xhr.responseText);         } });

我总是收到失败的警报,而responseText始终是空白的。任何想法都将不胜感激。

1 个答案:

答案 0 :(得分:0)

当你说“通过Fiddler”时,你的意思是“使用Fiddler的请求构建器”或者你的意思是“与Fiddler一起运行吗?”

问题:您的网站运行的是哪个网址?您通常不能使用XHR向不同的服务器(或FF中的端口)发出XHR请求。

相关问题