2017-05-12 2 views
0

jquery AJAX와 PHP 요청을 보내려는 PHP 함수 을 보내지 만 응답하지 않습니다.jquery ajax와 함께 POST 데이터를 PHP 함수로 전송하는 방법

JQuery와

$.ajax({ 
    url: 'ListProduk.php/SelectData', 
    type: 'POST', 
    success: function(data) 
    { 
     console.log(data); 
    } 
    }); 

PHP

<?php 
include 'database.php'; 

function SelectData(){ 
    $sql = "SELECT * FROM MsProduk"; 

    $result = $conn->query($sql); 
    while($row = $result->fetch_assoc()){ 
    $arr[] = $row; 
    } 
    return json_encode($arr); 
} 
?> 

모든 아이디어를 어떻게 해결하는 방법?

+0

'url : 'ListProduk.php/SelectData','그건 의미가 없습니다. 개발자 콘솔을보고 php의 오류보고를 사용하고 쿼리의 오류를 확인하십시오. 여기서 무슨 일이 일어나는지 보게 될 것입니다. –

+0

'url : 'ListProduk.php/SelectData',''SelectData'라는 하위 폴더가있는'ListProduk.php' 폴더로 변환됩니다. 'SelectData()'메소드의 사용법을 알 수 없습니다. 여기에 다양한 범위 문제가 있습니다. –

+0

"GET"변수를 통해 함수 이름을 보내고 PHP 파일 내에서 함수 이름을 호출 할 수 있습니다. – Lixus

답변

2

URL 재 작성 (Google mod_rewrite 및 pretty URL)을 사용하지 않는 경우 일반적으로 매개 변수는 일반적인 HTTP GET 요청으로 전달됩니다. 여기에 귀하의 URL 구조를 볼 수있는 방법의 예입니다 :

url: 'ListProduk.php?action=SelectData' 

그리고 당신이 요구되는 작업에 따라 그것을 처리 할 수있는, 당신의 PHP에서, 다음 (참고 : action 매개 변수는 웹 개발과 관련된 일이 아니다 , 내가 할당 그냥 임의의 이름입니다. 그것은

if ($_POST['action'] == 'SelectData') { 
    // Run the code for selecting data 
} 

마지막으로, "반환"JSON 데이터에 싶지 않을 것이다)뿐만 아니라 foo=SelectData 수 있습니다. 올바른 헤더로 출력해야합니다. 다음과 같이 보일 것입니다 :

header('Content-Type: application/json'); 
echo json_encode($data); 
+0

작동 중! 도와 주셔서 감사합니다! –