クライアントは jquery Serialize を通じてフォーム データを送信します
$("#submit_survey").click(function(){ $.post(SITE_URL+'activity/survey/savesurvey', {data:$('#survey_form').serialize()}, function(response){ if (response.error_code) { infotips(response.msg, $('.submit_tips')); } else { infotips('保存成功', $('.submit_tips'), 'right'); } }, 'json'); return false; });
ログイン後にコピー
PHP 側に投稿されるデータは次のとおりです:
title=%E6%82%A8%E5%8F%AF%E4%BB%A5%E5%9C%A8 %E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E6%82%A8%E7%9A%84%E9%97%AE%E7%AD%94%E9 %A2%98%E7%9B%AE%EF%BC%8C%E5%90%8C%E6%97%B6%E5%AF%B9%E9%97%AE%E7%AD%94%E6%B4 %BB%E5%8A%A8%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E&cover_image=&file_name=&file_partpath=&description=&isgender=0&isarea=0&isage=0&question%5B1%5D =ghk&option%5B1%5D%5B0%5D=hgkhk&option%5B1%5D%5B1%5D=hkhj&option%5B1%5D%5B2%5D=khgkhk&option%5B1%5D%5B3%5D=&question%5B2%5D=hgkh&option%5B2 %5d%5b0%5d = hkhjk & option%5b2%5d%5d%5d = hjkhjl & option%5b2%5d%5b2%5d =
正しい形式を置き換える方法:
Array cover_image] => hdsgdsg
[file_name] ] => 219_20130514170542.jpg
[ファイル部分パス] =>
[isarea] => 0
配列
> ; ああ
)
ディスカッションへの返信(解決策)
まさか? jq 精神薄弱ですか? !
通常の標準バージョンに従って処理を送信するだけです
おっしゃるとおりであれば、これには parse_str が用意されています もちろん、最初にコードをデコードするために urldecode を使用する必要もあります
$.post を使用する場合、 {dataは必要ありません:$(form).serialize()} 代わりに$(form).serialize()だけ
そのせいか、元々独立していた入力値がデータの文字列型の値になってしまいました
$.post を使用する場合、{data:$(form).serialize()} は必要なく、$(form).serialize() だけで済みます
そのためか、元々独立した入力値がデータ化しました 文字列型の値は
なるほど、ありがとうございます
まさか? jq 精神薄弱ですか? ! 通常の標準バージョンに従って送信するだけです
おっしゃる通りであれば、当然、これをデコードするために urldecode を使用する必要もあります
使い方が間違っていたのは事実です