thinkphp 3.1 パラメータ処理の問題

WBOY
リリース: 2016-06-23 13:27:46
オリジナル
1207 人が閲覧しました

完成したシステムを修正するのですが、パラメータの取得方法が分かりません
ページを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;
ログイン後にコピー

上記のことがわかりません obj_box.giftIcon と obj_box["userName"] は同じですか?
最後に、ここで最大の問題が発生します。ACTIONの最後のパラメータにパラメータを追加しましたが、それがJSに送信できないのです。


Reply Discussion (Solution)

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です


通常のjsonの値を与えることができるコード え?比較してみたいと思います。
このコードでは、値に関連するのは var obj_box=data["ct"]; という文だけです。このデータはどこから来たのですか? "ct" は何の略ですか?いくつかの JSON 情報、例:

var zjcoin = obj_box["zjcoin"];//或者var zjcoin = obj_box.zjcoin;都无法获得值,提示未定义
ログイン後にコピー

上記のコード例では、JSON コードを保存するための var user={ ... } が少なくとも 1 つありますが、それが直接 {...} で記述されている場合、価値が得られるのか?

いくつかの JSON 情報を確認しました。例:

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 つありますが、それを直接記述すると {... }、値を取得するにはどうすればよいですか?


トラバースして
user[0].username を取得します
5 階の友人は私の質問を理解できませんでした、
このように言わせてください

thinkphp3.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()

{
//Processing code....ignore...

echo '{"code":"0","giftPath":"' です。 $smallIcon. '"...}';
終了; {"code":"0", "zjcoin":"'.$zjcoin.'","giftPath":"' . ....}';//赤い部分が増えています パラメータ
exit; }
JSではobj_box[""]を使って他のパラメータを取得できるのですが、自分で追加したパラメータの値が取得できません。データベースに追加すると、値が表示されます。

別の js ファイルで新しい発見をしました
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); } 
ログイン後にコピー
ログイン後にコピー



最後のパラメータの順序は最後に zjcoin も追加しましたが、結果はまだ取得できません

この建物、30


この建物の場合、30 分で十分です

アドバイスをお願いします。

パラメータの転送には swf ファイルを経由する必要があることがわかりました。swf コードを編集できるツールをいくつかダウンロードしましたが、すぐにエラーが表示されます。保存すると、どのマスターにそのようなツールがあるのか​​わかりません。 swf

のコードを編集できるツールは保護されていますか?

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート