修改一个已经做好的系统,参数获取方式看不懂,请大神指教
页面提交到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里面代码的工具
被保护?

Zu den wirksamen Methoden zur Verhinderung fester Sitzungsangriffe gehören: 1. Regenerieren Sie die Sitzungs -ID, nachdem sich der Benutzer angemeldet hat; 2. Verwenden Sie einen sicheren Algorithmus für Sitzungs -ID -Generierung; 3.. Implementieren Sie den Timeout -Mechanismus für Sitzungen; 4. Verschlüsseln Sie Sitzungsdaten mithilfe von HTTPS. Diese Maßnahmen können sicherstellen, dass die Anwendung bei festgelegten Sitzungen unzerstörbar ist.

Die implementierende Sitzungsfreie Authentifizierung kann durch die Verwendung von JSONWEBTOKENS (JWT), einem tokenbasierten Authentifizierungssystem, erreicht werden, bei dem alle erforderlichen Informationen im Token ohne serverseitige Sitzungsspeicher gespeichert werden. 1) Verwenden Sie JWT, um Token zu generieren und zu überprüfen, 2) Stellen Sie sicher, dass HTTPS verwendet wird, um zu verhindern, dass Token abgefangen werden.

Zu den Sicherheitsrisiken von PHP -Sitzungen gehören hauptsächlich Sitzungshijacking, Sitzungsfixierung, Sitzungsvorhersage und Sitzungsvergiftung. 1. Session -Entführungen können durch Verwendung von HTTPS und Schutz von Cookies verhindert werden. 2. Die Sitzungsfixierung kann vermieden werden, indem die Sitzungs -ID regeneriert wird, bevor sich der Benutzer einmeldet. 4. Die Sitzungsvergiftung kann durch Überprüfung und Filterungsdaten verhindert werden.

Um eine PHP -Sitzung zu zerstören, müssen Sie zuerst die Sitzung starten, dann die Daten löschen und die Sitzungsdatei zerstören. 1. Verwenden Sie Session_Start (), um die Sitzung zu starten. 2. Verwenden Sie Session_unset (), um die Sitzungsdaten zu löschen. 3. Verwenden Sie schließlich Session_destroy (), um die Sitzungsdatei zu zerstören, um die Datensicherheit und die Ressourcenfreigabe zu gewährleisten.

Wie ändere ich den Standard -Sitzungsweg von PHP? Es kann durch die folgenden Schritte erreicht werden: Verwenden Sie Session_save_path ('/var/www/sessions'); Session_start (); in PHP -Skripten, um den Sitzungsspfad zu setzen. Setzen Sie in der Datei php.ini, um den Sitzungsspfad global zu ändern. Verwenden Sie Memcached oder Redis, um Sitzungsdaten wie ini_set ('Session.Save_handler', 'memcached') zu speichern; ini_set (

TomodifyDatainaphpSession, startTheSessionwithSession_Start (), dann $ _SessionToSet, modify, orremovevariables.1) startTheSession.2) setOrmodifySessionvariabling $ _Session.3) removeVariables mit ()

Arrays können in PHP -Sitzungen gespeichert werden. 1. Starten Sie die Sitzung und verwenden Sie Session_Start (). 2. Erstellen Sie ein Array und speichern Sie es in $ _Session. 3. Abrufen Sie das Array durch $ _Session ab. 4. Optimieren Sie Sitzungsdaten, um die Leistung zu verbessern.

Die PHP -Sitzungsmüllsammlung wird durch einen Wahrscheinlichkeitsmechanismus ausgelöst, um abgelaufene Sitzungsdaten zu beseitigen. 1) Legen Sie die Auslöserwahrscheinlichkeit und die Sitzungslebenszyklus in der Konfigurationsdatei ein. 2) Sie können Cron-Aufgaben verwenden, um Hochlastanwendungen zu optimieren. 3) Sie müssen die Häufigkeit und Leistung von Müllsammlungen ausgleichen, um Datenverlust zu vermeiden.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

Dreamweaver CS6
Visuelle Webentwicklungstools
