2017-05-12 23 views
0

jquery AJAXでPOSTリクエストを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ときれいなURL)を使用しない場合、通常はパラメータが通常のHTTP GETリクエストとして渡されます。

url: 'ListProduk.php?action=SelectData' 

をそして、あなたのPHPで、あなたは注意してください(要求されたアクションに基づいて、それを扱うことがあります:actionパラメータは、Web開発に特有のものではありませんここでは、あなたのURL構造がどのように見えるかの例です。 、それは私が割り当てられただけで任意の名前です。これは、

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

最後に、あなたは「リターン」JSONデータになりたくない)だけでなくfoo=SelectDataである可能性があります。正しいヘッダーで出力する必要があります。これは次のようになります:

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

それは働いている!助けてくれてありがとう! –

関連する問題