私は通常 $.ajax() 関数を使用してデータを転送しています。しかし今、私は自分のフォームでファイルをアップロードする必要があり、$.ajax() 関数を使用することはできないので、malsup の ajaxSubmit プラグイン ( Malsup のプラグイン) を使用することにしました。私のフォームはやや大きくて複雑で、ラジオ ボタンと小切手帳を使用した多くの選択プロセスが含まれています。この形式でフォーム データを php ページに送信することはできません。したがって、フォームが送信されると、すべてのフィールドが検証され、javascript 変数に単純な形式で保存されるため、php での処理が容易になります。
私のデータ変数は次のようになります。
var value="{name=jack,age=18}";
ajaxForm()で追加送信できるデータ形式です。
これは ajaxSubmit() 関数がどのように呼び出されるかです:
var data={
url:"action.php",
data:value,
type:'POST',
dataType:'json',
success:function(r)
{
alert(r.msg);
}
$("#form").ajaxSubmit(data);
しかし、ここで ajaxSubmit() 関数は、フォーム内のすべてのデータをシリアル化し、変数内のデータとともに送信します。
ファイルアップロードフィールドのみをシリアル化し、変数のデータとともに送信したかっただけです。これを解決するのを手伝ってください。