我試圖從jquery $ .ajax方法發送請求到我在另一個域上創建的.net web服務。我嘗試了很多東西,但仍然無法完成它。我不斷收到的迴應是未定義的。JSONP數據未定義,跨域發佈
有誰能提醒一下嗎?
感謝
.NET代碼
public class Handler1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string callback = "";
try
{
if (!string.IsNullOrEmpty(context.Request["callback"]))
{
if (!string.IsNullOrEmpty(context.Request["var1"]))
SaveData(context.Request["var1"]);
callback = context.Request["callback"];
var oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
string sJSON = oSerializer.Serialize(JSON);
HttpContext.Current.Response.ContentType = "application/json";
string qs = HttpContext.Current.Request.QueryString["callback"];
HttpContext.Current.Response.Write(callback+"(\"Clients : \"" + sJSON+ ")");
}
}
catch (Exception exc)
{
context.Response.Write(callback +
"({ \"return\": \"" + exc.Message + "\" })");
}
}
JQUERY
$.ajax({
url: "URL",
dataType: "jsonp",
success: function(data){
alert(data); // Always Undefined
}
});
那是什麼'\「客戶:\」'有點在那裏做? – melpomene
即將過去的列表的對象類型轉換爲json。它似乎是不確定的,無論「客戶:」位 – Jamlow
不,事實並非如此。不存在「對象類型」這樣的事情,並且從我所看到的您生成無效的JavaScript('foo(「Clients:」{})'「)。如果刪除'\「客戶端會發生什麼情況:\」'? – melpomene