1

どんな助けでもいただければ幸いです。

単純なphpページで使用すると正常に機能する小さなスクリプトを作成しました。今、私はこのスクリプトをWordPressの投稿とページに追加しようとしました。そこで、「exec-php」プラグインを使用してphpスクリプトを呼び出しました。

すべてが正常に動作します。しかし、ユーザーがデータを入力してフォームを送信すると、データは実際に送信されます(firebugで投稿された変数を確認できます)が、WordPressで使用するとフォームの下に応答が表示されませんが、プレーンで使用すると正常に機能しますphpページ。

私のjQueryコードは次のようなものです:

var dataString = 'name=' + name + '&country=' + country + '&lang=' + language;

$("#paypal-submit").click(function () {

    $.ajax({
        type: "POST",
        url: "get.php",
        data: dataString,
        dataType: 'html',
        success: function (gotresponse) {
            $('#response-id').html("<div id='id-message'><p>Got Response</p></div>");
            $('#id-message').html(gotresponse).fadeIn(1500, function () {
                $('#id-message');
            });
            $('#name').attr('onchange', 'resetForm()');
            $('#country').attr('onchange', 'resetForm()');
        }
    });
});

実際にfirebugでプロセス全体を表示すると、データが実際にサーバーに投稿されていることがわかります。

200 OK               2.03s

しかし、firebugコンソールに応答タブが表示されている場合は空です。WordPressで使用した場合、成功メッセージはトリガーされないと思います。

何が問題なのかわかりませんか?誰かが私がこれを解決するのを手伝ってもらえますか?

注:同じスクリプトをそのまま使用すると正常に機能しますが、WordPressで使用するとjQuery-Ajaxの成功はトリガーされません。

最初の編集:

私はちょうどエラーを含めました:ajax関数に

error:function(x,e){
            if(x.status==0){
            alert('You are offline!!\n Please Check Your Network.');
            }else if(x.status==404){
            alert('Requested URL not found.');
            }else if(x.status==500){
            alert('Internel Server Error.');
            }else if(e=='parsererror'){
            alert('Error.\nParsing JSON Request failed.');
            }else if(e=='timeout'){
            alert('Request Time out.');
            }else {
            alert('Unknow Error.\n'+x.responseText);
            }
        }

フォームを送信すると、「オフラインです!!ネットワークを確認してください」というアラートが表示されます。このエラーがトリガーされています。だから今私を助けてください。

4

1 に答える 1

0

success:function()では、success:function(data)を実行してから、.html(gotresponse)を.html(data)に変更する必要があります。

于 2012-07-21T21:45:08.377 に答える