有人可以顯示返回JSON並支持跨域調用的HTTP處理程序的示例。我正在使用jQuery的getJSON()向我的Web服務器上的.ashx文件發送請求。支持JSONP的ASP.NET通用HTTP處理程序(.ashx)
我知道我需要添加?callback =?到我的URL在getJSON()網址,但我不知道我的ashx文件中的服務器上需要做什麼?
有人可以顯示返回JSON並支持跨域調用的HTTP處理程序的示例。我正在使用jQuery的getJSON()向我的Web服務器上的.ashx文件發送請求。支持JSONP的ASP.NET通用HTTP處理程序(.ashx)
我知道我需要添加?callback =?到我的URL在getJSON()網址,但我不知道我的ashx文件中的服務器上需要做什麼?
「跨域」可能成爲一個問題的唯一方法就是如果您使用某種狀態機制(即:cookie)作爲調用的一部分。你不應該這樣做。
否則,請參閱此鏈接:ASP.NET - Passing JSON from jQuery to ASHX以獲取信息。有一些很好的代碼示例可以告訴你該怎麼做。
對不起,但這根本沒有幫助。 – Bigglesby 2010-09-13 18:14:43
想通了。我添加了這個功能,我的處理程序,並把它稱爲:
void WriteCallback(HttpContext context, string json)
{
context.Response.Write(string.Format("{0}({1});", context.Request["callback"], json));
}
然後在瀏覽器:
$(function() {
$.getJSON('MyHandler.ashx?callback=?', { Foo: "Bar" }, function (data) {
if (data.SomeCondition)
$('#someElement').show();
});
});
+1對於第一個功能 - 今天爲我節省了一些時間。 – 2011-03-10 23:20:51
謝謝!我一直在撞牆,並沒有意識到在做JSONP調用時,你必須用回調函數名稱來包裝JSON輸出。 – dgundersen 2011-07-14 21:27:54
的可能重複[ASP.NET - 傳遞JSON從jQuery來ASHX(HTTP://計算器.com/questions/2948628/asp-net-passing-json-from-jquery-to-ashx) – NotMe 2010-09-13 17:50:45
@Chris Lively--不要這麼想。 – Bigglesby 2010-09-13 18:18:46