2016-07-14 54 views
0

我試圖調用$ .post()函數,但當我按下按鈕nothings發生,但如果我嘗試調用$ post()函數的結果是一個錯誤,但代碼的作品。我真的不明白。

在圖像中,第一個選項得到一個錯誤,但工程,我的意思是$ _post變量發送。第二個不做任何事情,甚至沒有任何錯誤。

$(document).ready(function(){ 
    $("#nueva_categoria").submit(function(){ 

     var datos_categoria = $(this).serialize();  
     $post("articulo_controller.class.php", datos_categoria); 
     return false; 
    }) 
}); 

$(document).ready(function(){ 
    $("#nueva_categoria").submit(function(){ 

     var datos_categoria = $(this).serialize();  
     $.post("articulo_controller.class.php", datos_categoria); 
     return false; 
    }) 
}); 
+1

你得到什麼錯誤? – venture

回答

0

$post不存在,除非你確定它(因爲你得到一個錯誤,我猜你沒有)。 $.post是jQuery ajax後速記的正確調用。

在第一個示例中提交數據的原因是$post行發生了錯誤。正因爲如此,您的JavaScript執行已停止。所以return false;永遠不會執行。因此,表格正在提交。

第二個例子應該提交一個ajax POST。有可能是你沒有看到的錯誤。打開瀏覽器的網絡檢查工具,你應該能夠看到請求。地址是否正確,或者您是否應該在該網址中使用領先的/?您目前如何驗證數據是否正在發佈?

0

第二個選項是正確的,但是提交被「返回false」攔截。

我想你需要看看你的ajax是否正確並且不返回任何錯誤。

$.ajax({ 
     url: 'articulo_controller.class.php', 
     type: 'POST', 
     data: datos_categoria, 
    }) 
    .done(function() { 
     console.log("success"); 
    }) 
    .fail(function() { 
     console.log("error"); 
    }); 

這樣你就可以看到你的ajax是否正確。