ポストデータの問題

WBOY
WBOYオリジナル
2016-06-23 13:25:591029ブラウズ

ブラウザに付属のデバッグ ツールを使用して傍受した送信データは次のとおりです。

Remote Address:110.173.51.13:80Request URL:http://1.cp556677.com/index.php/game/postCodeRequest Method:POSTStatus Code:200 OKRequest Headersview sourceAccept:application/json, text/javascript, */*; q=0.01Accept-Encoding:gzip,deflateAccept-Language:zh-CN,zh;q=0.8Connection:keep-aliveContent-Length:416Content-Type:application/x-www-form-urlencoded; charset=UTF-8Cookie:safedog-flow-item=79F5EE718A; mode=0.02; PHPSESSID=geoneh9vdsg9nlo21251iho006; fanDian=0Host:1.cp556677.comOrigin:http://1.cp556677.comReferer:http://1.cp556677.com/index.phpUser-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0X-Requested-With:XMLHttpRequestForm Dataview sourceview URL encodedcode[0][fanDian]:0code[0][bonusProp]:19.40code[0][mode]:0.02code[0][beiShu]:1code[0][orderId]:105178437687code[0][actionData]:-,-,01234,-,-code[0][actionNum]:5code[0][weiShu]:0code[0][playedGroup]:6code[0][playedId]:37code[0][type]:1para[type]:1para[actionNo]:20150924-026para[kjTime]:1443061200Response Headersview sourceCache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0Connection:Keep-AliveContent-Length:26Content-Type:application/jsonDate:Thu, 24 Sep 2015 02:13:05 GMTExpires:Thu, 19 Nov 1981 08:52:00 GMTKeep-Alive:timeout=5, max=95Pragma:no-cacheServer:Apache/2.4.7 (Win32) OpenSSL/0.9.8y PHP/5.3.28X-Powered-By:PHP/5.3.28


自分で送信すると、500 エラーが表示されるか、データが空になるはずです。 json データがどのように返されるべきかを知っています。Web サイトは jQuery を使用して送信され、送信された関連コードは次のとおりです。

$.ajax('/index.php/game/postCode', {				data:{					code:code,					para:data,					zhuiHao:zhuiHao				},				type:'post',				dataType:'json',				error:function(xhr, textStatus, errorThrown){					gamePostedCode(errorThrown||textStatus);				},				success:function(data, textStatus, xhr){					gamePostedCode(null, data);					if(data) winjinAlert(data,"ok");				},


この送信プロセスをシミュレートするには、どのようにプログラムを使用すればよいですか?ジソン?


ディスカッション (解決策) に返信

$.ajax('/index.php/game/postCode' これは php に正常に送信できますか?

$.ajax('/index.php /game/postCode' これは php に正常に送信できますか?



はい

php スクリプトで json 形式のデータを返すときは、json_encode($arr) を使用して処理します

php スクリプト データを処理するときは、json_encode($arr) を使用して処理します



これらのパラメータがどのように送信されるか、URL になった場合にどのように見えるか、および ajax を使用せずにそれらをシミュレートする方法を知りたいです

送信されたデータは? by post は urlencode によって処理されます。自分でシミュレートしたい場合は、curl を使用して投稿の送信をシミュレートします。
この文字列内のパーセント記号以外の文字はすべて置き換えられます。 (%) の後に 2 桁の 16 進数が続き、スペースはプラス記号 (+) としてエンコードされます。このエンコードは、WWW フォームの POST データのエンコード方法と同じであり、application/x-www-form- と同じです。 urlencoded メディアタイプのエンコード方法は同じです

post によって送信されたデータは urlencode によって処理されます。urlencode を使用して、すべての文字列を返します。この文字列では、-_ を除き、数字はパーセント記号 (%) とそれに続く 2 つの 16 進数に置き換えられ、スペースはプラス記号 (+) でエンコードされます。このエンコードは、WWW フォーム POST のエンコード方法と同じです。 data であり、application/ と同じです。 x-www-form-urlencoded のメディア タイプのエンコード方法は同じです



調べられなかったのでここに投稿しました

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。