0

これは私を夢中にさせています!私のコードは自分のコンピューターで動作し、オンライン サーバーでも動作しますが、別のサーバーでは null を返します!!

何か案が??

jQuery Ajax コードは次のとおりです。

<script type="text/javascript">
$(document).ready(function() {
    $('#signup').submit(function() {
        $.ajax({
            url: 'mailchimp.php',
            data: 'ajax=true&email=' + escape($('#email').val()) + '&phone=' + escape($('#phone').val()) + '&uname=' + encodeURIComponent($('#uname').val()) ,
            success: function(msg) {
                $('#form').html(msg);
            }
        });

        return false;
    });
});
</script>

URL を直接入力して mailchimp.php をテストしました。正常に動作し、期待どおりの結果が返されます。

ありがとう

4

3 に答える 3

0

正確な問題はまだわかりませんが、encodeURIComponent 関数によって生成されるパーセント記号が存在するため、ajax の投稿が実行されていないようです。

これが私のajax関数で行ったことです。すべての % 記号をハイフン記号に置き換えました。

uname = uname.replace(/\%/g, '-');

また、私の PHP コードでは、ハイフンの代わりにすべての % 記号を元に戻しました。

urldecode(str_replace('-', '%', $_GET['uname']))

たぶんそれは最善の解決策ではないかもしれませんが、最終的にはうまくいきます:)

于 2013-04-01T21:17:26.283 に答える
0

URLへの絶対パスを指定して試してみてください。私は間違っているかもしれませんが、一見の価値があります。

于 2013-04-01T17:58:18.517 に答える
0

クロスドメインを投稿していますか? 次に、JSONP http://en.wikipedia.org/wiki/JSONPを使用する必要があります。

于 2013-04-01T18:00:42.730 に答える