2012-10-05 53 views
0

我試圖建立AJAX的自定義函數,但輸出爲「null」阿賈克斯自定義函數

$("form[id*='admin-handler/announcements'] #submit").click(function(e) { 
    e.preventDefault(); 
    ajaxCall("/admin-handler/announcements", $(this).serialize(), function(data) { 
     alert(data); 
    }); 

}); 
function ajaxCall(_url, _data, callback) { 
    $.ajax({ 
     type: "POST", 
     url: _url, 
     data: _data, 
     dataType: 'json', 
     success: function(data) { 
      callback(data); 
     } 
    }); 
} 

所以..什麼是錯我的代碼?

+1

你應該檢查你的開發者工具,在Network下,你首先從你的服務器收到什麼。 –

+0

當您在瀏覽器中手動進入/ admin-handler/announcements時會出現什麼內容?我假設這是返回給你一個JSON字符串,所有工作正常? – didster

回答

6

$(this).serialize()在您的參數列表中將嘗試序列化其所屬的元素#submit,而不是form元素。

而且由於您通過其ID訪問#submit,因此前面的form選擇器應該是是多餘的。

+0

是的,你說得對。謝謝 !!! –

+0

很高興幫助:) – BenM