0

私は ajax 投稿タイプの呼び出しで問題に直面しています。jquery から ajax 呼び出しが呼び出されると、空白の php json 応答が返されます。

以下は、HTMLフォームデータを送信してjson応答を取得するために使用しているhtml、jquery、およびphpコードです。コードに問題がある場合、またはブラウザー設定で何かを行う必要がある場合は、アドバイスしてください。

jQuery src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" を使用しています。また、FirePHP アドオンを使用して、フォーム入力が正しく php に送信されていることを確認できます。

 HTML Code
 =========

  <form id = "frmLogin" action ="" autocomplete="off" style="width:10em;margin:0 auto" method="post">
   User Email ID : <input type = "email" name ="loginId" autocomplete = "off">              
  Password    : <input type = "password" name = "password" autocomplete = "off"> 
  <input id= "clkLogin" type="Submit" value="Submit" >  
  </form>

JQuery Code
===========
$("#frmLogin").submit(function() {
    $.ajaxSetup( { cache: false });      
    $.ajax( {     
        url: "http://localhost/validateUser.php" , 
        cache:false, 
        type:"POST",
        async:true, 
        data: $("form#frmLogin").serialize(),
        success:function(data){
                    $("#loginPage").hide();
                    $("#Registered").hide(); 
                    $("#userHomePage").show();
                                     $("button#user").html(data.firstName);     
            }, dataType:"json" 
           });
         return false;  
        });

 PHP Code
 ========

 <?php
 require_once('FirePHPCore/fb.php');

 $con = mysqli_connect("localhost","root","kpns@123","spa");

 if(mysqli_connect_errno()) {
echo "MYSQL connection error ::" . mysqli_connect_error();
 }

 $sql = "select * from spausers where email_id = '$_POST[loginId]' and pswd ='$_POST[password]' "; 

 fb($sql,'SQL Query'); // FirePHP console log shows sql statement with  the correct inputs sent from HTML form

 $result = mysqli_query($con,$sql);

 fb($result,'mysqli_query result');

 while ($row = mysqli_fetch_array($result)) {
 $data =    array ('emailid'=>$row['email_id'],'firstName' => $row['first_name'],'lastName' => $row['last_name']);  

 fb(json_encode($data),'mysqli_query fetch array'); // FirePHP console log shows result in json format {"key" : "value", "key":"value"}  
 }
 header("Content-Type: application/json");

 echo json_encode($data);
mysqli_close($con);
 ?>

リクエストヘッダー

受け入れる */*

Accept-Encoding gzip、デフレート

Accept-Language en-US,en;q=0.5

コンテンツの長さ 52

Content-Type application/x-www-form-urlencoded; 文字セット=UTF-8

ホストのローカルホスト

原点ヌル

ユーザーエージェント Mozilla/5.0 (Windows NT 6.2; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0

応答ヘッダー

接続キープアライブ

コンテンツの長さ 85

コンテンツ タイプ アプリケーション/json

日付 2013 年 10 月 6 日 04:48:54 GMT

キープアライブ タイムアウト = 5、最大 = 100

サーバー Apache/2.2.25 (Win32) PHP/5.3.27

X-Powered-By PHP/5.3.27

4

1 に答える 1

-1

希望はあなたを助けることができます

JQuery コード

$("#frmLogin").submit(function() {

    // setup some local variables
    var $form = $(this);
    // Serialize the data in the form
    var serializedData = $form.serialize();
    $.ajaxSetup( { cache: false });      
    $.ajax( {  
        cache:false, 
        type:"POST",
        async:true, 
        dataType: "json",
        url: "http://localhost/validateUser.php",
        data: serializedData,
        success:function(data){
                $("#loginPage").hide();
                $("#Registered").hide(); 
                $("#userHomePage").show();
                $("button#user").html(data.firstName);     
        }
       });
     return false;  
    });
于 2018-07-23T02:31:39.193 に答える