Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery检索本地JSON提要_Jquery_Json_Jsonp - Fatal编程技术网

使用jQuery检索本地JSON提要

使用jQuery检索本地JSON提要,jquery,json,jsonp,Jquery,Json,Jsonp,我正在尝试使用jQuery检索本地JSON提要 出于某些原因,以下内容适用于外部url,但不适用于localhost:49171。不知道我做错了什么 谢谢 var url = "http://localhost:49171/Service1.svc/GetAllHomePageLineItems"; $.jsonp({ url: url, callbackParameter: "callback", cache: true, dataType:

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

出于某些原因,以下内容适用于外部url,但不适用于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);
}

您是否尝试过使用$.getJson()函数而不是jsonp


把它弄明白了。这是跨域AJAX调用的一个问题。我不得不将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();
        }
    }

如果直接访问url,会得到什么?当您进行ajax调用时,它是否会进入任何回调函数?您的控制台怎么说?我在本地加载
ajax
时总是遇到问题。也许这里有人可以提供进一步的帮助。如果我直接访问url,我可以看到格式正确的JSON。Console没有报告任何错误。我尝试使用$.getJson(),我收到一个错误,因为url位于不同的端口。此脚本是否与JSON提要位于同一服务器(本地主机)上?我认为您遇到了跨站点脚本问题。