2016-03-26 2 views
0

です。数日前にすべて動作していましたが、突然それは機能しなくなりました。私はすべてを試したと思いますが、変更はありませんので、最後の手段として是非!

私はthis articleを経て、私のphp.iniファイルをチェックし、post_max_sizeのは8M

JSからAjaxリクエストに設定されています:

// From this SO answer: http://stackoverflow.com/a/14794856/4669619 
$rest_json = file_get_contents("php://input"); 
$_POST = json_decode($rest_json, true); 

var_dump($rest_json); 
var_dump($_POST); 

getRouteList();       // Works 

if (isset($_POST["action"]) && !empty($_POST["action"])) { 
    file_put_contents('function_result.txt', "Action: Set" . PHP_EOL . PHP_EOL, FILE_APPEND); 
    $action = $_POST["action"]; 

    if ($action == "getRouteList") { 
     getRouteList();     // Doesn't work (b/c $_POST isn't set) 
    } 

} else { 
    file_put_contents('function_result.txt', "Action: Not set!" . PHP_EOL . PHP_EOL, FILE_APPEND); 
} 

myPage.php

$.ajax({ 
    url: "getFromDB.php", 
    type: "post", 
    dataType: 'json', 
    headers: {'Content-Type': 'application/json'}, // Tried with and without 
    data: { action: "getRouteList" }, 
    success: function(obj){ 
     alert("Yay!"); 
    } 
}); 

var_dump出力:

string(19) "action=getRouteList" // $rest_json 
NULL        // $_POST // NULL b/c of '='? 

function_result.txt出力

Action: Not set! 

Firebugの情報:あなたは、データを文字列化する必要があるJSONを引き続き使用したい場合は、contentTypeのを混合している

enter image description here

+0

を提出するようにContent-Typeにheaderを削除し、PHPでfile_get_contents()json_decode()を削除し、$ _POST、その後エンコード形式が使用されるように、あなたがdefintielyドン送信するために」 contenTypeをjsonに設定するか、 'json_decode'を使用します。 jsonを送信したい場合、データオブジェクトをストリング化する必要があります.jQueryはそれを行いません – charlietfl

答えて

1

に近づきますphpを同じにしておきます

var json = JSON.stringify({ action: "getRouteList" }); 
$.ajax({ 
    url: "getFromDB.php", 
    type: "post", 
    dataType: 'json', 
    headers: {'Content-Type': 'application/json'}, // Tried with and without 
    data: json, 
    success: function(obj){ 
     alert("Yay!"); 
    } 
}); 

または任意の正規形は `$ _POST`については

+0

どのようにしてエンコードすることができますか? – Ali

+0

Content-typeが指定されていない場合のデフォルトはエンコードされたフォームです...現在の方法でデータオブジェクトを渡すだけです – charlietfl

関連する問題