2016-11-19 14 views
-2

私はクロームコンソールを使用して、以下を使用してサーバーにAJAX要求を送信しようとしている:JQuery Ajax構文エラー?

$.ajax({ 
    url: 'http://www.adidas.co.uk/on/demandware.store/Sites-adidas-GB-Site/en_GB/Cart-MiniAddProduct', 
    data: { 
     "request": "ajax", 
     "Quantity": "1", 
     "g-recaptcha-response": "redacted", 
     "responseformat": "json", 
     "sku": "AQ5934", 
     "pid": "AQ5934_660" 
    }, 
    method: 'POST', 
    crossDomain: true, 
    contentType: 'application/x-www-form-urlencoded', 
    xhrFields: { 
     withCredentials: true 
    }, 
    complete: function(data, status, xhr) { 
     console.log(status); 
     console.log(data); 
    } 
}); 

しかし、私は次のエラー取得しています:

Uncaught TypeError: $.ajax is not a function 
    at <anonymous>:1:3 

を私がするリードですこの問題は構文エラーが原因であると考えていますが、次の方法で構文エラーが見つかりません。

+1

どのようにjQueryスクリプトに読み込んでいますか? – winseybash

+0

私はクロムコンソールを使用している必要はありません –

+0

コンソールで検査しているページにjQueryがロードされていますか? – winseybash

答えて

1

プロジェクトにjqueryライブラリがない可能性があるため、このエラーが発生します。

あなたは常にこのよう、適切に動作するJavaScriptのファイルの前にライブラリを追加する必要があります。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<script src="/your/file.js"></script> 
+0

私はクロームコンソールを使用している必要はありません –

+1

クロムコンソールの有無にかかわらず、jqueryライブラリを追加する必要があります。 –

+0

私の謝罪、私はこれを知らなかった。助けてくれてありがとう –

0

まず、あなたは(缶以下のバージョンを使用して行うことができます、あなたはjQueryライブラリをロードすることを確認してください)を変更すること:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 

第二に、あなたが提供されたコードのルックスから、あなたはjQueryのドキュメント準備関数内で、あなたのAJAX呼び出しを入れていません。 (最初と最後の行が新しく追加された)以下でください:あなたがローカルホスト上でこれをテストしている場合は

$(document).ready(function(){ /* NEW LINE */ 
    $.ajax({ 
     url: 'http://www.adidas.co.uk/on/demandware.store/Sites-adidas-GB-Site/en_GB/Cart-MiniAddProduct', 
     data: { 
      "request": "ajax", 
      "Quantity": "1", 
      "g-recaptcha-response": "redacted", 
      "responseformat": "json", 
      "sku": "AQ5934", 
      "pid": "AQ5934_660" 
     }, 
     method: 'POST', 
     crossDomain: true, 
     contentType: 'application/x-www-form-urlencoded', 
     xhrFields: { 
      withCredentials: true 
     }, 
     complete: function(data, status, xhr) { 
      console.log(status); 
      console.log(data); 
     } 
    }); 
}); /* NEW LINE */ 

、あなたはCORSのエラーを取得します。

XMLHttpRequest cannot load http://www.adidas.co.uk/on/demandware.store/Sites-adidas-GB-Site/en_GB/Cart-MiniAddProduct. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access. 

おそらく、認証用に別のスクリプトがありますか?