0

jquery にクライアント側コードがあり、クライアント側コードから、PHP を使用して記述された XML ファイルの形式でサーバー側にデータを格納する必要があります。PHP ファイルを作成するためのコードが完成しました。ただし、クライアント側のコードを PHP ファイルに渡すことができません。jQuery投稿も機能していません。クエリ文字列を試しましたが、データが大きすぎるため機能しません。

助言がありますか?

あなたの時間と配慮していただきありがとうございます。:)

いくつかのテスト コード:

jQueryの投稿

$.post("test2.php", { userdata: "test"} );

アヤックスポスト

$(document).ready(function() 
{
    $(document).ready(function() 
    {
        $.ajax({
            type: "POST",
            url: "test2.php",
            data:   "userdata=" + "test" 
        });     
    });

});

PHP コード

$test = $_POST['userdata']; $document = new DOMDocument(); 
$document->load("collection.xml");
//Write XML file generation code
4

2 に答える 2

1

フォームデータの場合は serializeArray() を渡します。または、送信するコンテンツから配列を作成します。例えば

var sendingData = [];
sendingData = fillinData();
   OR
sendingData = $("form").serializeArray();
$.post("url.php", { xmlData: sendingData }, function(data){   });

xmlを作成するためにサーバー側でそのデータをループします。サーバー側でフェッチできる変数にラップされたコンテンツのサイズに関係なく、配列を使用する必要があります。

JQuery .ajax で使用するために js Array() を JSON オブジェクトに変換します

于 2010-08-17T09:35:32.360 に答える
0

私が理解しているように、あなたの問題はデータを受信して​​書き出すことではなく、そのデータをサーバーに保存されているファイルに書き込むことです。これには、php 関数 fopen のようなものを使用する必要があります。

$handle = fopen("filename.xml", 'w');
fwrite($handle,$datafromclient);
fclose($handle);

情報をデータベースに保存するのではなく、Web サーバー上のファイルにデータを書き込む理由はわかりませんが、理由があることは確かです。ただし、セキュリティへの影響を考慮して、たとえば、実行可能コードをアップロードできないようにし、権限が適切に設定されている (データが適切にサニタイズされている) ことを確認してください。

幸運を :)

于 2010-10-20T12:24:43.420 に答える