ホームページ >バックエンド開発 >PHPチュートリアル >thinkphp 3.1 パラメータ処理の問題
完成したシステムを修正するのですが、パラメータの取得方法が分かりません
ページをActionに送信して処理を行った後
最後のパラメータコードはこんな感じです
うーん
それではパラメータの処理はJSで行われます
echo '{"code":"0","giftPath":"' . $smallIcon . '","giftStyle":"' . $giftinfo['giftStyle'] . '","giftGroup":"' . $giftinfo['sid'] . '","giftType":"' . $giftinfo['giftType'] . '","toUserNo":"' . $emceeinfo['curroomnum'] . '","isGift":"0","giftLocation":"[]","giftIcon":"' . $giftinfo['giftIcon'] . '","giftSwf":"' . $giftinfo['giftSwf'] . '","toUserId":"' . $_REQUEST['toid'] . '","toUserName":"' . $emceeinfo['nickname'] . '","userNo":"' . $_SESSION['roomnum'] . '","giftCount":"' . $_REQUEST['count'] . '","userId":"' . $_SESSION['uid'] . '","giftName":"' . $giftinfo['giftname'] . '","userName":"' . $_SESSION['nickname'] . '","giftId":"' . $giftinfo['id'] . '"}';exit;
zjcoin は自分で追加したパラメータです
var obj_box=data["ct"]; //这里不明白这个data["ct"]代表什么,查找整个项目也找不到相关代码obj_box=obj_box.replace(/\+/g,"%20");obj_box=evalJSON(decodeURIComponent(obj_box));var giftIcon=obj_box.giftIcon,giftNum=obj_box.giftCount,giftName=obj_box.giftName,giftimg='',isGift=obj_box.isGift || 0,ugood=obj_box["userNo"],uid=obj_box["userId"],uname=decodeURIComponent(obj_box["userName"]),cugood=this.chatgnum(obj_box["userNo"]),tougood=obj_box["toUserNo"],touid=obj_box["toUserId"],touname=decodeURIComponent(obj_box['toUserName']),tocugood=this.chatgnum(obj_box["toUserNo"]),gifttop=parseInt($('#gift_history li').size()) || 0;
echo '{"code":"0","zjcoin":"' . $zjcoin . '","giftPath":"' . $smallIcon . '","giftStyle":"' . $giftinfo['giftStyle'] . '","giftGroup":"' . $giftinfo['sid'] . '","giftType":"' . $giftinfo['giftType'] . '","toUserNo":"' . $emceeinfo['curroomnum'] . '","isGift":"0","giftLocation":"[]","giftIcon":"' . $giftinfo['giftIcon'] . '","giftSwf":"' . $giftinfo['giftSwf'] . '","toUserId":"' . $_REQUEST['toid'] . '","toUserName":"' . $emceeinfo['nickname'] . '","userNo":"' . $_SESSION['roomnum'] . '","giftCount":"' . $_REQUEST['count'] . '","userId":"' . $_SESSION['uid'] . '","giftName":"' . $giftinfo['giftname'] . '","userName":"' . $_SESSION['nickname'] . '","giftId":"' . $giftinfo['id'] . '"}';
このphpコードは、バックグラウンドでページに値を返すためにajaxで使用され、フロントデスクのjsonの値を取得します。 . js の ajax がどのように json を取得するかを見てみましょう
この php コードは、フロントエンドで json の値を取得するために ajax で使用されます。 jsはjsonの値を取得するだけでOKです
var zjcoin = obj_box["zjcoin"];//或者var zjcoin = obj_box.zjcoin;都无法获得值,提示未定义
上記のコード例では、JSON コードを保存するための var user={ ... } が少なくとも 1 つありますが、それが直接 {...} で記述されている場合、価値が得られるのか?
function showJSON() { var user = { "username":"andy", "age":20, "info": { "tel": "123456", "cellphone": "98765"}, "address": [ {"city":"beijing","postcode":"222333"}, {"city":"newyork","postcode":"555666"} ] } alert(user.username); alert(user.age); alert(user.info.cellphone); alert(user.address[0].city); alert(user.address[0].postcode); user.username = "Tom"; alert(user.username); }
上記のコード例では、JSON コードを保存するための var user={ ... } が少なくとも 1 つありますが、それを直接記述すると {... }、値を取得するにはどうすればよいですか?
ショーでいくつかの改善が行われましたtpl の .html ページ アクションの送信、
は、ライブラリの showAction.class.php のメソッド sendMsg() の 1 つに送信されます。 コードは次のとおりです。
public funciton sendMsg()
{
//コードを処理します。 ... 無視します...
echo '{ "code":"0","msg":"message1"}' //このセクションは、HTML メッセージに直接返されるコードです echo{parameter... }
exit;
}
値を取得する場合、 Javascript では
var obj_box=data["ct"];
元のコードによれば、
obj_box.code または obj_box["code"] で値を取得できますが、手動でパラメータを追加すると値が取得できず、アクション内で値があることを確認するのですが、この書き方をしたことがあるでしょうか。
追加したパラメータはどのように記述しますか?
追加したパラメータはどのように記述しますか?
元のアクションのコードは
public funciton sendMsg()
{function showJSON() { var user = { "username":"andy", "age":20, "info": { "tel": "123456", "cellphone": "98765"}, "address": [ {"city":"beijing","postcode":"222333"}, {"city":"newyork","postcode":"555666"} ] } alert(user.username); alert(user.age); alert(user.info.cellphone); alert(user.address[0].city); alert(user.address[0].postcode); user.username = "Tom"; alert(user.username); }
アドバイスをお願いします。
パラメータの転送には swf ファイルを経由する必要があることがわかりました。swf コードを編集できるツールをいくつかダウンロードしましたが、すぐにエラーが表示されます。保存すると、どのマスターにそのようなツールがあるのかわかりません。 swf
のコードを編集できるツールは保護されていますか?