何かが足りないのかもしれませんが、何が起こっているのか理解できません。
PHP スクリプトの変数の値$_POST
が、フォーム データで送信される値と一致しません。
これが私がやっていることです。同じ php スクリプトに 2 つの連続したリクエストを送信しています。1 つのフィールドを除いて、すべてのフォーム データ値は両方の要求で同じです。ただし、php スクリプトでは、$_POST
変数は両方のリクエストでそのフィールドに同じ値を持ちます。
サーバーへの最初のリクエストで送信する生のフォームデータは次のとおりです。
sEcho=1&iColumns=1&sColumns=&iDisplayStart=0&iDisplayLength=20&mDataProp_0=0&sSearch=&bRegex=false&sSearch_0=&bRegex_0=false&bSearchable_0=true&fromSid=1050&fromTable=file2.xlsx&toSid=1049&toTable=file1.xlsx&fromTransInput=columnToMatch&fromTransInput=columnToMatch&toTransInputTable0アクション=
これは、私のphpスクリプトで取得した生の入力コンテンツです。
sEcho=1&iColumns=1&sColumns=&iDisplayStart=0&iDisplayLength=20&mDataProp_0=0&sSearch=&bRegex=false&sSearch_0=&bRegex_0=false&bSearchable_0=true&fromSid=1050&fromTable=file2.xlsx&toSid=1049&toTable=file1.xlsx&fromTransInput=columnToMatch&toTransInput=columnToMatch& action=getDistinctToTable &pageLength=20"
アクションの値が一致しないことに注意してください。私がphpスクリプトに持っている値は、実際には2番目のリクエストで送信されるアクション値です。
2 番目のリクエスト フォーム データは次のとおりです。
sEcho=1&iColumns=1&sColumns=&iDisplayStart=0&iDisplayLength=20&mDataProp_0=0&sSearch=&bRegex=false&sSearch_0=&bRegex_0=false&bSearchable_0=true&fromSid=1050&fromTable=file2.xlsx&toSid=1049&toTable=file1.xlsx&fromTransInput=columnToMatch&toTransInput=columnToMatch&toTransInputTable0 =アクション
そして、これが 2 番目のリクエストの php scrip からの生の入力コンテンツです。
sEcho=1&iColumns=1&sColumns=&iDisplayStart=0&iDisplayLength=20&mDataProp_0=0&sSearch=&bRegex=false&sSearch_0=&bRegex_0=false&bSearchable_0=true&fromSid=1050&fromTable=file2.xlsx&toSid=1049&toTable=file1.xlsx&fromTransInput=columnToMatch&toTransInput=columnToMatch&toTransInputTable0 =アクション
何が起こっているのですか?
更新: ここにいくつかのコードがあります:
クライアントにはこれがあります:
最初のリクエストの場合:
$.ajax({ url: '../dataMatchChecker/getDataTables.php', data: [{"name":"sEcho","value":1},{"name":"iColumns","value": 1},{"名前":"sColumns","値":""},{"名前":"iDisplayStart","値":0},{"名前":"iDisplayLength","値":20 },{"名前":"mDataProp_0","値":0},{"名前":"sSearch","値":""},{"名前":"bRegex","値":false} ,{"name":"sSearch_0","value":""},{"name":"bRegex_0","value":false},{"name":"bSearchable_0","value":true}, {"名前":"fromSid","値":"1050"},{"名前":"fromTable","値":"file2.xlsx"},{"名前":"toSid","値":"1049"} ,{"name":"toTable","value":"file1.xlsx"},{"name":"fromTransInput","value":"columnToMatch"},{"name":"toTransInput","value ":"columnToMatch"},{"name":"action","value":" getDistinctFromTablename":"fromTransInput","value":"columnToMatch"},{"name":"toTransInput","value":"columnToMatch"},{"name":"action","value":" getDistinctFromTablename":"fromTransInput","value":"columnToMatch"},{"name":"toTransInput","value":"columnToMatch"},{"name":"action","value":" getDistinctFromTable"},{"name":"pageLength","value":20}], type: 'post', dataType: 'json', success: function(json) { // ここで何らかの作業を行います } });
2 番目の要求の場合:
$.ajax({ url: '../dataMatchChecker/getDataTables.php', data: [{"name":"sEcho","value":1},{"name":"iColumns","value": 1},{"名前":"sColumns","値":""},{"名前":"iDisplayStart","値":0},{"名前":"iDisplayLength","値":20 },{"名前":"mDataProp_0","値":0},{"名前":"sSearch","値":""},{"名前":"bRegex","値":false} ,{"name":"sSearch_0","value":""},{"name":"bRegex_0","value":false},{"name":"bSearchable_0","value":true}, {"名前":"fromSid","値":"1050"},{"名前":"fromTable","値":"file2.xlsx"},{"名前":"toSid","値":"1049"} ,{"name":"toTable","value":"file1.xlsx"},{"name":"fromTransInput","value":"columnToMatch"},{"name":"toTransInput","value ":"columnToMatch"},{"name":"action","value":" getDistinctToTablename":"fromTransInput","value":"columnToMatch"},{"name":"toTransInput","value":"columnToMatch"},{"name":"action","value":" getDistinctToTablename":"fromTransInput","value":"columnToMatch"},{"name":"toTransInput","value":"columnToMatch"},{"name":"action","value":" getDistinctToTable"},{"name":"pageLength","value":20}], type: 'post', dataType: 'json', success: function(json) { // ここで何らかの作業を行います } });
今のところ私のサーバーでは、$_POST
変数を var_dump するだけです (上で示した生のコンテンツも var_dump します):
var_dump($_POST);
$postdata = file_get_contents("php://input");
var_dump($postdata);