使用jQuery检索本地JSON提要

时间:2014-01-29 22:58:56

标签: jquery json jsonp

我正在尝试使用jQuery来检索本地JSON提要。

出于某种原因,下面的内容适用于外部网址,但不适用于localhost:49171。不知道我做错了什么。

谢谢!

var url = "http://localhost:49171/Service1.svc/GetAllHomePageLineItems";

 $.jsonp({
      url: url,
      callbackParameter: "callback",
      cache: true,
      dataType: 'json',
      success: onSuccess,
      error: function () {
        onError()
      }
    });

function onError() {
  alert("error");
}

function onSuccess(data) {
  alert(data);
}

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用$ .getJson()函数代替jsonp?

http://api.jquery.com/jquery.getjson/

答案 1 :(得分:0)

想出来。这是Cross Domain AJAX Calling的一个问题。我不得不将一个global.asax.cs文件添加到我的WCF Web服务中,该服务生成JSON并启用跨域AJAX调用。

来自global.asax.cs -

private void EnableCrossDomainAjaxCall() {
        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin",
                      "*");

        if (HttpContext.Current.Request.HttpMethod == "OPTIONS") {
            HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods",
                          "GET, POST, PUT, DELETE, OPTIONS");
            HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers",
                          "Content-Type, Accept");
            HttpContext.Current.Response.AddHeader("Access-Control-Max-Age",
                          "1728000");
            HttpContext.Current.Response.End();
        }
    }