2016-07-06 18 views
-3

私はAjax POSTリクエストを持っています。それは常に200 OKを返しますが、私は私が望むものを得ることはできません。私はjsonの問題があることを知っているが、私はこの問題を解決することはできません。ここに私のコードは次のとおりです。私のスクリプトが動作しないようAJAXリクエスト返信200 OK

<?php 
    include_once("connect.php"); 
    $name = $_POST['name']; 
    mysql_query("INSERT INTO visitor(name) VALUES('$name')") or die ("Fail To Add !"); 
    echo '{"status":"1"}'; 
?> 

save.php

<script type="text/javascript" src="../js/jquery-1.11.2.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $("form#formreg").submit(function(){ 
    if (confirm("Are You Sure Want To Save ?")){ 
     $.ajax({ 
     url: "save.php", 
     type:"post", 
     contentType: 'application/json; charset=utf-8', 
     data:$(":input").serialize(), 
     dataType: "json", 
     success:function(response){ 
      if(response.status == 1) 
      { 
      alert("Save OK !"); 
      } 
      else 
      { 
      alert("Fail To Save!"); 
      } 
     }, 
     error: function(xhr){ 
       alert("An error occurred: " + xhr.status + " " + xhr.statusText); 
     } 
     }); 
    } 
    return false; 
    }); 
}); 
</script> 
<form method="post" name="formreg" action="" id="formreg"> 
    <table> 
    <tr> 
     <td>Name</td> 
     <td><input type="text" id="name" name="name" required="required" size="50" maxlength="50" /></td> 
    </tr> 
    </table> 
    <input type="submit" id="submit" value="Save"/> 
</form> 

はあなたが私を助けることができる、間違ったコードは何ですか?

+3

あなたは問題があると言いますが、問題の内容を教えてください。要求が200 OK応答を返した場合、AJAXコードは正常です。 PHPコードが期待した動作をしない場合は、JS –

+5

'$ _POST ['name'];' –

+1

_ "私が望むものが得られません_。何を得ることを望みますか?何を手に入れていますか? – JLRishe

答えて

2

問題があります:あなたの形式の識別子が '名前' であるため、

$name = $_POST['$name']; 

name$nameを交換してください。 PHPが死んで200のステータスを返しますが、の前にの文字列をエコーし​​てしまうと、JSONが返されることはありません。

+0

実際には答えが@JayBlanchardの一重引用符 '$ var'は間違いなく問題だと思います – RiggsFolly

+0

実際に@RiggsFolly(上記のコメントのため)かもしれません;-) –

+0

htmlを見て、' name = $ name "' –

関連する問題