2014-09-15 2 views
1

저는 PHP와 AJAX를 처음 사용합니다. 어떤 조언을 환영합니다. 궁극적 인 목표는 버튼 클릭시 MySQL 데이터베이스에 JavaScript 배열을 저장하는 것입니다.하지만 먼저 JS 배열을 PHP 스크립트로 보낼 수 있는지 테스트하고 있습니다. AJAX와 함께 보낸 배열을 표시하는 방법을 찾는 데 도움이 필요합니다.AJAX로 보낸 데이터를 표시하는 방법은 무엇입니까?

내 HTML에 제출-array 등

<button onclick="submit()">Submit Array</button> 
<p id="demo"></p> 

내 JS에서 제출-array 등

function submit() { 
    var nameString = JSON.stringify(nameArray); 
     $.ajax({ 
      url: "submit.php", 
      type: 'post', 
      data: nameString, 
      success: function() { 
       document.getElementById("demo").innerHTML = "Submitted Successfully"; 
      }, 
      error: function() { 
       document.getElementById("demo").innerHTML = "Error"; 
      } 
     }); // end ajax call 
} 

submit.php

if(isset($_POST['nameString'])) { 
     $nameArray = json_decode($_POST[nameString]); 
     echo $nameArray; 
    } 
    else { 
     echo "nameString not received"; 
    } 

내 코드를 실행하고 제출 버튼을 누르면 HTML 페이지에 "Submitted Successfully"이 표시되고 PHP 페이지에는 "nameString not received"가 표시됩니다.

nameString을 PHP로 보내면 왜 $ nameArray가 표시되지 않습니까?

답변

0

data에 이름을 지정하지 않았으므로 PHP가 $_POST에 넣을 내용은 없습니다.

당신이 있어야합니다

data: {nameString: JSON.stringify(nameArray)} 
     ^^^^^^^^^^--- $_POST key 
        ^^^^etc... $_POST value 
+0

성공없이 시도 : data {mail : 'Jack'} – JED

+0

다음 $ _POST [ 'mail'] – JED

0

사용 구글 크롬 Deleoper 도구합니다 (Ctrl-Shift 키-I) 네트워크 탭이나 파이어 폭스에서 불을 지르고 유사한 옵션을 선택합니다. 위에서 언급 한 도구에서 모든 서버에서 볼 수 있으며 응답을 응답합니다. 그것들을 확인하면 AJAX 데이터를 찾을 수 있습니다.

관련 문제