2016-07-06 5 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"}'; 
?> 

, 당신이 나를 도울 수

<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> 

save.php : 여기에 내 코드입니까?

+3

문제가 있다고하지만 문제가 무엇인지 알려주지 마십시오. 요청이 200 OK 응답을 반환하면 AJAX 코드가 정상입니다. PHP 코드가 예상 한 동작을 수행하지 않으면 JS –

+5

'$ _POST [ 'name']; ' –

+1

_ "내가 원하는 것을 얻지 못하고 있습니다."_가 아니라 해당 코드를 디버깅해야합니다. 너는 무엇을 얻기를 희망 하는가? 뭐하고 있니? – JLRishe

답변

2

문제가있다 : 양식의 식별자가 '이름'때문에

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

name$name를 교체합니다. 나쁜 변수를 쿼리에 전달하면 PHP는 죽고 200의 상태를 반환하지만 전에 전에 죽었다는 이유로 JSON 문자열이 반향됩니다. JSON이 반환되지 않습니다.

+0

실제로 그 대답은 @JayBlanchard 단일 인용'$ var'이 확실히 문제라고 생각합니다 – RiggsFolly

+0

사실상 @RiggsFolly 일 수도 있습니다 (위의 주석으로 인해) ;-) –

+0

html을 보면'name = "이 아닙니다. $ name "' –

관련 문제