0

次のコードが機能しない理由がわかりません。とりあえず、php関数 "alias_valid"はテスト目的で文字列を返すだけなので、ここにはphp関数を含めていません。アラートは空です。

$.post(SITE_ROOT + "includes/AbstractEvent.php",{
    action:"alias_valid", 
    alias : alias},
    function(v){
        alert(v);
    });
4

3 に答える 3

1

jQuery.post()を使用したリクエストがエラーコードを返す場合、サイレントに失敗します

.error()エラーが発生していないか確認してください

構文:

// Assign handlers immediately after making the request,
// and remember the jqxhr object for this request
var jqxhr = $.post("example.php", function() {
  alert("success");
})
.success(function() { alert("second success"); })
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });

$.postの詳細

于 2012-04-05T16:37:14.717 に答える
0

actionには引数はありません$.post。代わりに、URLの最後に連結してみてください。

$.post(SITE_ROOT + "includes/AbstractEvent.php/alias_valid/",{ 
    alias : alias},
    function(v){
        alert(v);
    });

しかし、MVCフレームワークを使用していない限り、これが機能するとは思えません。または、クラス内の特定の関数を呼び出すある種の要求ルーティング。

于 2012-04-05T16:40:14.840 に答える
0

私の推測では、変数の1つが未定義です。SITE_ROOTaliasが実際にコード内で定義されていることを確認します。また、でSITE_ROOT終わるかどうかを確認してください/

これらすべてをテストする最良の方法は、コンソールを起動して(を押してF12)、どのようなエラーが発生するかを確認することです。何もない場合は、サーバーから空の応答を受け取っている可能性があります。

これがあなたの例に基づいた動作中のjsfiddleF12です(ここでも、を押してコンソールの出力にアクセスします)。

于 2012-04-05T16:40:31.043 に答える