thinkphp 3.1 参数处理问题
修改一个已经做好的系统,参数获取方式看不懂,请大神指教
页面提交到Action处理后
结尾部分参数代码是这样写的
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;
然后处理参数是在JS里完成的
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;
上面这里也不明白,obj_box.giftIcon 和obj_box["userName"] 是一样的么?
最后,最大的问题来了,我在ACTION末端参数中加了一个参数,在ACTION里测试是有数值的,但是就是传不到JS里,不知道哪里出的问题
回复讨论(解决方案)
zjcoin这个就是自己加的参数
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'] . '"}';
var zjcoin = obj_box["zjcoin"];//或者var zjcoin = obj_box.zjcoin;都无法获得值,提示未定义
这个php代码是ajax里后台向页面返回值的,在前台取json的值,看看js 的ajax是怎么取json的值就OK
这个php代码是ajax里后台向页面返回值的,在前台取json的值,看看js 的ajax是怎么取json的值就OK
能给一段正常json取值的代码么?我好对比一下。
在这段代码中,唯一看到跟取值有关的就是一句 var obj_box=data["ct"]; 这个data从哪来的 "ct"又代表什么,完全没有头绪
查了一些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); }
上例代码中,至少还有一个var user={ ... } 来存储json的代码,但是直接{...}这样编写的话,又该如何取值?
查了一些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); }
上例代码中,至少还有一个var user={ ... } 来存储json的代码,但是直接{...}这样编写的话,又该如何取值?
遍历获取
user[0].username
5楼的朋友没明白我的问题,
我这样说吧
在 thinkphp3.1的框架下
tpl中的 show.html 页面中进行了一些动作的提交,
提交到了lib中的showAction.class.php的其中一个方法sendMsg()代码如下
public funciton sendMsg()
{
//处理代码....忽略...
echo '{"code":"0","msg":"message1"}'; //这一段就是返回给Html信息的代码了,直接echo{参数...}
exit;
}
取值的时候,是在Javascript中的
var obj_box=data["ct"];
按照原来的代码,
obj_box.code 或者 obj_box["code"]都能取到值,可是我自己手动新增一个参数的话,就无法取值了,查过在action中是有值的,那么就是传输中出的问题,不知道大家有没有用过这种编写方式?
你自己增加的参数是怎么写的?
你自己增加的参数是怎么写的?
原先的action中的代码是
public funciton sendMsg()
{
//处理代码....忽略...
echo '{"code":"0","giftPath":"' . $smallIcon . '"......}';
exit;
}
增加参数后代码是
public funciton sendMsg()
{
//处理代码....忽略...
echo '{"code":"0", “zjcoin”:"'.$zjcoin.'","giftPath":"' . $smallIcon . '"......}';//红色的部分是增加的参数
exit;
}
在JS中,其他的参数可以用obj_box[""]来获取,可我自己添加的这个参数就是取不到,数值是有的,添加到数据库都看到值了。
又有了新的发现,另外一个js文件中
var GiftCtrl={ sendGift:function(){ var url="/index.php/Show/show_sendGift/eid/"+_show.emceeId+"/toid/"+GiftCtrl.gift_to_id+"/count/"+giftNum+"/gid/"+GiftCtrl.gift_id+"/t/"+Math.random(); var tmpgid=GiftCtrl.gift_id; GiftCtrl.clearGiftCfg(); $.getJSON(url,function(json){ if(json){ if(json.code==0){ GiftCtrl.gift_to_id=_show.emceeId; $('#giftto').html(_show.emceeNick); Chat.getUserBalance();//用户秀币更新 Dom.$swfId("flashCallChat")._chatToSocket(0, 2, '{"_method_":"sendGift","giftPath":"' + json.giftPath + '","giftStyle":"' + json.giftStyle + '","giftGroup":"' + json.giftGroup + '","giftType":"' + json.giftType + '","toUserNo":"' + json.toUserNo + '","isGift":"' + json.isGift + '","giftLocation":"' + json.giftLocation + '","giftIcon":"' + json.giftIcon + '","giftSwf":"' + json.giftSwf + '","toUserId":"' + json.toUserId + '","toUserName":"' + json.toUserName + '","userNo":"' + json.userNo + '","giftCount":"' + json.giftCount + '","userId":"' + json.userId + '","giftName":"' + json.giftName + '","userName":"' + json.userName + '","giftId":"' + json.giftId + '","zjcoin":"' + json.zjcoin + '"}');//这一段参数的顺序跟action中的顺序一样,末尾也加了zjcoin,结果还是无法获取 }}
最后那一段参数的顺序跟action中的顺序一样,我在末尾也加了zjcoin,结果还是无法获取
此楼,30分即可.
此楼,30分即可.
请指教?
终于知道原因了,原来参数传递还要通过一个swf文件, 网上下了几个能编辑swf代码的工具,能打开修改,但是一保存就弹出错误,不知道哪位大神有这样的工具,能编辑swf里面代码的工具
被保护?

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

L'extension PHP Client URL (CURL) est un outil puissant pour les développeurs, permettant une interaction transparente avec des serveurs distants et des API REST. En tirant parti de Libcurl, une bibliothèque de transfert de fichiers multi-protocol très respectée, PHP Curl facilite Efficient Execu

Alipay Php ...

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

L'article traite de la liaison statique tardive (LSB) dans PHP, introduite dans PHP 5.3, permettant une résolution d'exécution de la méthode statique nécessite un héritage plus flexible. Problème main: LSB vs polymorphisme traditionnel; Applications pratiques de LSB et perfo potentiel

L'article traite des fonctionnalités de sécurité essentielles dans les cadres pour se protéger contre les vulnérabilités, notamment la validation des entrées, l'authentification et les mises à jour régulières.

Envoyant des données JSON à l'aide de la bibliothèque Curl de PHP dans le développement de PHP, il est souvent nécessaire d'interagir avec les API externes. L'une des façons courantes consiste à utiliser la bibliothèque Curl pour envoyer le post� ...

L'article examine l'ajout de fonctionnalités personnalisées aux cadres, en se concentrant sur la compréhension de l'architecture, l'identification des points d'extension et les meilleures pratiques pour l'intégration et le débogage.

Une introduction officielle à la caractéristique non bloquante de l'interprétation approfondie de ReactPHP de la caractéristique non bloquante de ReactphP a suscité de nombreux développeurs: "ReactPhpisnon-blockingByDefault ...
