2016-07-14 15 views
0

私は$ .post()関数を呼び出そうとしていますが、ボタンを押すとnothingsが発生しますが、$ postエラーが発生しますが、コードは機能します。私は本当に理解していない。

イメージでは、最初のオプションはエラーになりますが動作します。つまり、$ _post変数が送信されます。 2番目のものは何もしません。エラーでもありません。あなたはそれを定義しない限り、

$(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;は決して実行されません。したがって、フォームが提出されています。

2番目の例では、ajax POSTを送信する必要があります。おそらくあなたが見ていないというエラーがあります。ブラウザのネットワーク検査ツールを開くと、要求を確認できるはずです。住所は正しいですか?たとえば、そのURLに先導/があるはずですか?現在、データが掲載されているかどうかを確認していますか?

0

2番目のオプションは正しいですが、送信は "return false;"で停止します。

あなたのajaxが正しいかどうかを確認してエラーを返さないと思うと思います。

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

このようにして、ajaxが正しいかどうかを確認できます。

関連する問題