2016-11-30 6 views
0

昨日jQueryを使用して最初のコードを書き、JavaScriptスクリプトの変数を$.ajaxを使用してPHPスクリプトに渡しました。jQueryを使用してPHPスクリプトからJSON配列を取得しています

今日、私はPHPクエリの結果としてHTMLファイルに配列を渡そうとしていました。彼らは私にJSONの使用を提案したので、すべての情報を収集しました。明らかに動作しないコードを記述しようとしました。

目的は、この配列を渡して(jQuery経由で)値に別々にアクセスし、別々のHTMLページでそれらを別々に表示することです。問題は、AJAXコールがerror:(コンソールに表示される:「失敗」)を返すことです。

誰が問題を理解するのを助けることができますか?

HTMLファイル

<script> 
$(document).ready(function(){ 
    $("#menuSelect").on("click", function(){ 
     var str = $("#menuSelect").val(); 
     $.ajax({ 
      type: "POST", 
      url: "tester2.php", 
      data: { value: str }, 
      dataType:"Json", 
      success: function(data){ 
       var a = $.parseJSON(data); 
       $("#txt").html(a.name); 
      }, 
      error: function() { 
       console.log("Failed"); 
      } 
     }); 
    }); 
}); 
</script> 

PHPファイル

function provaAJAX($value) { 
switch ($value) { 
    case "0": 
     $query = dbSelect("name, lvl", "productsma", "id=1", "", "", "Error"); 
     header('Content-Type: application/json'); 
     echo json_encode($query); 
     break; 
    case "1": 
     $query = dbSelect("name, lvl", "productsma", "id=2", "", "", "Error"); 
     header('Content-Type: application/json'); 
     echo json_encode($query); 
     break; 
    case "2": 
     $query = dbSelect("name, lvl", "productsma", "id=3", "", "", "Error"); 
     header('Content-Type: application/json'); 
     echo json_encode($query); 
     break; 
} 
} 

$value = $_POST["value"]; 
provaAJAX($value); 
+0

コンソールにはほかに何がありますか? –

+0

@u_mulder残念なことに、他に何もありません。 'Failed 'と書かれた' console.log(Failed ")'のHTMLファイル – Brigo

+0

'tester2.php'へのリクエストに関するデータがあるはずです。 –

答えて

0

私はあなたの問題はPHPをURLエンコード形式のデータではなく、JSONを処理するように設計されたことがあると信じています。あなたがPHPスクリプトにJSONデータを渡すために計画している場合ので、それは単にフォームデータをエンコードされたURLのデコードであるので、あなたは$_POSTを使用することはできません、あなたはその時点で

$data = file_get_contents('php://input'); 
$_POST = json_decode($data, true); 

ような何かをしなければならない、あなたがアクセスすることができます$ _POSTあなたが慣れている方法。

関連する問題