2014-01-29 46 views
0

我試圖使用jQuery來檢索本地JSON提要本地JSON飼料。檢索與jQuery

出於某種原因,這與下面的外部URL工作,但不能與本地主機: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); 
} 
+0

你得到什麼,如果你直接訪問該網址是什麼?當你正在進行ajax呼叫時,它是否輸入了你的任何回調函數? –

+0

你的遊戲機說什麼? – MrUpsidown

+0

我一直有本地加載'AJAX'的問題。也許這裏有人可以進一步提供幫助。 –

回答

0

想通了。這是跨域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(); 
     } 
    } 
0

您是否嘗試過使用$ .getJson()函數而不是jsonp?

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

+0

我一直在使用$ .getJson()試過了,我得到一個錯誤,因爲該網址是一個不同的端口上。 –

+0

此腳本與JSON源位於同一服務器(本地主機)上嗎?我認爲你正在遇到跨站腳本問題。 – Detpircs