通过AJAX调用在jQuery中使用WCF服务在另一个项目中调用(跨域)

我正在使用我下载的WCF jQuery AJAX调用示例。 我可以运行它并使它在同一个项目中工作。 当我从同一解决方案中的不同项目访问相同的内容时,它什么都不做。 以下是我打电话的方法。

function WCFJSON() { var parameter = "1234567890 (Cross Domain)"; Type = "GET"; Url = "http://localhost:52729/jQueryWebSite/Service.svc/Test?Id=" + parameter; Data = '{"Id": "' + parameter + '"}'; ContentType = "application/json; charset=utf-8"; DataType = "jsonp"; ProcessData = false; CallService(); } $(document).ready(function () { WCFJSON(); }); 

我有成功和失败方法的警报()。

当我直接在浏览器中运行URL时,它会返回结果。 但是,如果我从一个不同的项目运行它,它什么都不做。 没有警报,没有结果。

以下是我的服务运行项目的Web.Config;

                                           

是否与Web.config或脚本中的任何错误有关? 我已经遵循了许多方法并尝试了各种方法。

我找不到任何跨域WCF jQuery AJAX调用的解决方案。 因此,我在这里发帖说明我是如何解决这个问题的。

当我在AJAX Call中使用GET方法时,不需要提供数据。

在jQuery AJAX调用中使用WCF时必须考虑的事项(跨域);

  1. 在单独的Visual Studio实例中运行WCF服务项目。 不要在一个实例中混合WCF服务项目和消耗项目并立即运行。 运行使用项目时,WCF项目必须已启动并正在运行。
  2. 使用DataType作为jsonp而不是json
  3. 在WCF Project的web.config中,确保\\下的\\ 标记中包含属性crossDomainScriptAccessEnabled="true" 。 绑定名称也设置为标记中的bindingConfiguration属性。

有关更多信息,以下是我的jQuery AJAX调用;

 $.ajax({ cache: false, type: "GET", async: false, processData: true, data: "", url: "http://localhost:64973/Account.svc/GetAccountByID/2000", contentType: "application/json", dataType: "jsonp", success: function (result) { alert(result); alert(result.GetAccountByIDResult); } }); 

以下是我的web.config;