0

何かが足りないのかもしれませんが、何が起こっているのか理解できません。

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);

4

0 に答える 0