2013-11-15 88 views
0

我有一個Google Chrome瀏覽器擴展程序。在我的Content.js中,我正在執行一個POST請求,它運行良好,除了在返回json數據時沒有收到回調響應。

這裏是我的電話

$.post(("http://localhost:4089/i3cloud.com/ilinklogemailnoimap.ashx?opensocial_owner_id=" + ownerId), 
     '{"data":"' + dataString + '"}' , 
     function() { 
      alert('response'); 
      }, 
     "json"); 

它調用與處理程序的響應之後返回一個ASHX處理程序。

context.Response.Write("{'user_exists' : true, 'result' : 'Success'}") 

我不明白回調...

如果響應是空的,我得到的迴應和我的警報被調用。

context.Response.Write("") 

有我得到的JSON響應正確的格式?

我正在使用jquery-2.0.2

感謝您的幫助。

+1

我不知道這是否會造成問題,但是JSON鍵和字符串值應該被雙引號。因此,請嘗試將響應更改爲:''{「user_exists」:true,「result」:「Success」}「' – gkalpak

+0

感謝您的迴應。我結束了以下工作「[{\」user_exists \「:\」true \「,\」result \「:\」Success \「}]」 – PNC

+0

好吧,請記住(就JSON而言有關)''true「'和'true'是不同的值(前者是'string'類型,而後者是'boolean'類型)。 – gkalpak

回答

0

我設法得到這個有以下工作:

"[{\"user_exists\":\"true\",\"result\":\"Success\"}]" 

我產生有以下的JSON:

JavaScriptSerializer serializer = new JavaScriptSerializer(); 
    responseList = new List<responseItem>(); 
    responseItem ri = new responseItem(); 
    ri.user_exists = "true"; 
    ri.result = "Success"; 
    responseList.Add(ri); 
    context.Response.Write(serializer.Serialize(responseList));