2017-01-15 21 views
1

これは、actions.phpを呼び出して、 'POST'という配列を返します。 ここにコードがあります。私はアラート( "Not ajax")を返すことができますが、$.ajaxの中には何もありません:何か提案がありますか?jquery ajaxが応答しない

/******これはjQueryとAJAXファイル***********************/

/****************************

$("#loginSignupButton").click(function() { 
    // alert("Not in the ajax"); 
    $.ajax({   
     type: "POST", 
     url: "actions.php?action=loginSignup", 
     data: "email=" + $("#email").val() + "&password" + $("#password").val() + "&loginActive=" + $("#loginAcive").val(), 
     success: function(result) {  
      alert(result);  
     } 
    })   
}) 

/************ *******************/

/**** actions.phpファイルのコードは次のとおりです。****/

include( "functions.php");

if ($_GET['action'] == "loginSignup") { 

     print_r($_POST); 

    } 

/**************************/

+1

あなたはjqueryのライブラリをロードしましたか? –

+1

ajax呼び出しにエラー関数を追加し、エラーが発生していないかどうかを確認してください。エラー:関数(jqXHR、textStatus、errorThrown){ console.log(textStatus、errorThrown); } – Hakunamatata

+0

POST要求に対してクエリ文字列を送信することはできません。 'data'はオブジェクト(キーと値のペア)です。 – Terry

答えて

1

通常あなたはそれがデフォルトを持っているボタンをクリックします

$("#loginSignupButton").click(function(event) { 
event.preventDefault() 
//call ajax stuff here 
} 

コールバックに入力パラメータがないため、イベントをキャプチャしていない可能性があります。また、POSTは通常、サーバに何かを送信します。もしあなたが何かを取得したいと思えば、あなたの成功のコールバックの中に入るでしょう。この場合、あなたはそれを単に警告として表示しています。この場合。

メソッド:POSTはサーバーに何らかのシリアライズ可能なデータを送信し、GETはサーバーから何かを要求します。あなたがしようとしていることを正確に理解するのは難しいです。

追記:

あなたが将来的に見ることができるが、AJAXは

を要求し理解するために、その賢明ではないとして、それを心配しないでください
$("#loginSignupButton").click(function() { 
this.preventDefault() 
} 

:あなたはまた、そのようなだけでなく、「この」キーワードを使用することができます

+1

あなたの例では、元のポスターの標準機能の構文から太い矢印の構文に切り替わっていないことがわかります... –

+0

ありがとう、変更されました。 – JonathanMitchell

0

あなたのリソースは成功コードを返していないと思うので、あなたの成功関数は決して実行されません。

はそれが本当であれば、見つけるあなたのコードに行の下に追加するには:

error: function(jqXHR, textStatus, errorThrown) { 
    alert(textStatus); 
} 

あなたはjQuery docsjQuery.ajaxの使用についての詳細を読むことができます。

1

ボタンが実際にクリックされていることを確認します

$("#loginSignupButton").click(function() { 
alert('working') 

その後の成功の下にこれを追加(多分あなたのIDが間違っている?):

error: function(e) { 
    console.log(e) 
} 

はあなたのコンソール(F12)を開き、取りエラー出力があるかどうかを調べます。

コンソールにいる間、[ネットワーク]タブを見てください。リクエストが送信されていますか?パラメータは何ですか?レスポンスは何ですか?

はまた、あなたは、だから、私は明らかに使用していたか、働いていませんでしたブートストラップAjaxのリンクを判明$(document).ready(function(){ ... }

0

でそれをラップする必要があるので、このようなイベントリスナは、DOMがロードされた後まで設定することはできません注意してくださいこのリンク:

私はGoogleにAJAXを変更したときに、それが働いていたどのように今までに:

関連する問題