323

データベースからデータを返す単純な AJAX リクエストを作成しています。以下は私の機能です:

function AJAXrequest(url, postedData, callback) {
    $.ajax({
        type: 'POST',
        url: url,
        data: postedData,
        dataType: 'json',
        success: callback
    });
}

ここで、必要なパラメーターを指定して呼び出します。

AJAXrequest('voting.ajax.php', imageData, function(data) {
    // function body
});

それでも、コールバックは実行されず、代わりにコンソールにエラーが表示されます。

TypeError: $.ajax(...) is not a function.

なんで?成功イベントが $.ajax 内の匿名関数をトリガーする前に、AJAX 要求を実行しましたが、今は別の名前の関数を実行しようとしています。どうすればいいですか?

4

16 に答える 16

27

確かではありませんが、コードに構文エラーがあるようです。試す:

$.ajax({
  type: 'POST',
  url: url,
  data: postedData,
  dataType: 'json',
  success: callback
});

必要のない余分なブラケット$.ajaxが横にありました。それでもエラーが発生する場合は、jQuery スクリプト ファイルが読み込まれていません。

于 2013-08-16T10:32:36.977 に答える
7

ajax を含む jquery の最小バージョンを参照します。

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
于 2019-08-30T18:15:43.000 に答える
2

ajax関数の後に括弧を配置し、引数リストを定義するために別の括弧のセットを配置したため、構文エラーがあります:-

あなたが書いたように: -

$.ajax() ({
    type: 'POST',
    url: url,
    data: postedData,
    dataType: 'json',
    success: callback
});

ajax を囲む括弧は削除する必要があります。

$.ajax({
    type: 'POST',
    url: url,
    data: postedData,
    dataType: 'json',
    success: callback
});
于 2013-08-16T10:34:45.143 に答える
2

AJAX 関数にエラーがあります。括弧が多すぎます。代わりに試してください$.ajax({

于 2013-08-16T10:34:49.350 に答える
1

私は同じ質問に遭遇しました。私の解決策は、JQuery スクリプトを追加することでした。

特に、firefox/chrome で js をデバッグするときに、対応する JQuery がロードされていることを確認する必要があります。

于 2016-05-04T06:19:53.060 に答える
1

ブートストラップ HTML テンプレートを使用している場合は、テンプレートの下部にある jquery slim へのリンクを忘れずに削除してください。まだ回答にコメントできないため、この詳細をここに投稿します..

于 2019-10-06T09:35:56.103 に答える