2013-08-08 23 views
5

私はこのコードjQueryの後返さない応答データ

$(document).delegate('#login', 'pageinit', function(event) { 

console.log('inside login page') 
$('#loginform').submit(function() { 

    // Get the value of the username and password 
    var myusername = $("#username").val(); 
    var mypassword = $("#password").val(); 

    // Post to the login route 
    $.post(global_urlstub + '/customer_login', {username: myusername, password: mypassword}, function(data) { 

     alert(data); 
     console.log(data); 
     if (data.flag == true) { 
      alert('123'); 
      console.log(data); 
      jQuery.mobile.changePage('#page1'); 
     } 
     else { 
      alert('12345'); 
      console.log(data); 
      $('#errmsg_login').html(data.msg); 
     } 

    }, "json"); 

    return false; 

}); 

}を有します)。

私のサーバーは、キーflagでハッシュを返します。しかし、このコードは、コンソールやアラートにデータを返しません。ポストリクエストは成功です。何が間違っているのですか?もしサーバが有効なJSONを返していません

は最初、以下のようなデータ型なしでそれをしようとすると、

答えて

3
私は、これはサーバー返さないあなたに問題があることをHemant_Negiに同意するだろう

有効なJSON。 ()エラーメッセージを通知する必要がありますが、そのURLを変更した場合、呼び出しは失敗し

var myusername = 'a', mypassword = 'b'; 
$.post('http://ip.jsontest.com', {username: myusername, password: mypassword}, function(data) { 
    alert(data.ip); 
    console.log(data); 
    if (data.flag == true) { 
     alert('123'); 
     console.log(data); 
     jQuery.mobile.changePage('#page1'); 
    } 
    else { 
     alert('12345'); 
     console.log(data); 
     $('#errmsg_login').html(data.msg); 
    } 
}, "json").fail(function(jqXHR, textStatus, errorThrown) { 
    alert(textStatus); 
}); 

:あなたに基づいて、次のコードは、(有効なJSONを返すもそこにURLの変更)罰金を動作します。

+0

私はバックグラウンドとしてsinatraを使用しています。私はそこに有効なjsonを持っていると確信しています。さらに、私はバックエンドにjsコードの別の部分を完全に似たコードを持っていて、うまくいきます。 – Avdept

+0

Chromeのようなブラウザを使用する場合は、開発ツール(F12)を開き、コードがAJAX要求を行うようにNetworkタブを見てください。リクエストをクリックすると、一連のタブ(ヘッダー/プレビュー/レスポンス/ Cookie /タイミング)がChromeに表示されます。レスポンス・タブの内容を見ると、有効なJSONレスポンスを持っているかどうかははっきりしているはずです。 Firebugには、FFを使用する場合はNetタブがあり、IEには同等の機能があり、Fiddlerを使用していると仮定しています。 – Barrie

3

それは...起こる

$.post(global_urlstub + '/customer_login', {username: myusername, password: mypassword}, function(data) { 

      alert(data); 
      console.log(data); 
      if (data.flag == true) { 
       alert('123'); 
       console.log(data); 
       jQuery.mobile.changePage('#page1'); 
      } 
      else { 
       alert('12345'); 
       console.log(data); 
       $('#errmsg_login').html(data.msg); 
      } 

     }); 
0

サーバサイドスクリプトでデバッグ出力コードを使用していることを確認してください。

また、FirebugまたはChromeツールを使用すると、サーバーからの応答を簡単にチェックして、有効なJSON形式であるかどうかを確認できます。

関連する問題