如何在create_game请求的data键中正确传递userName变量?
问题分析与解决方案
问题根源
从实际发送的create_game请求内容可见,data字段中的username参数值被嵌套了双引号(username="673508846384"),导致URL参数格式错误;同时原请求模板中username字段存在语法缺失(少了开头的双引号)。
解决步骤
- 清理变量值:从登录响应的
playerName提取值时,确保存储的是不带双引号的纯字符串(比如直接存673508846384,而非带引号的"673508846384")。 - 修正请求模板语法:
- 修复
username字段的语法错误,原模板中"username": ${userName}",应改为"username": "${userName}",,补上开头的双引号。 - 修改
data字段中的参数模板,因为URL参数不需要给值加引号,直接写成&username=${userName}即可。
- 修复
修正后的create_game请求模板示例
42[ "create_game", { "key": "AUEEW891WL", "socketId":"${sid}", "username": "${userName}", "avatar": "avatar17.jpg", "language": "en", "playerMove": "", "joinGame": "", "replay": 0, "gameID": 0, "gameNo": 0, "data": "&gameID=undefined&game=texas&playMoney=1&gameStyle=private-cashgame&tableName=llkTable${counter1}&rakeRate=0&speed=60&sb=10&bb=20&tablelow=100&tablelimit=1000&videorequired=false&username=${userName}", "players": 0, "level": 347, "lastAction": "", "game": "", "playMoney": 1, "role": "1", "token":"${token}", "playerId":"${playerId}" } ]
修正后实际发送的正确内容示例
42[ "create_game", { "key": "AUEEW891WL", "socketId":"TRV8Rm_jtsqn_BBFAAiM", "username": "673508846384", "avatar": "avatar17.jpg", "language": "en", "playerMove": "", "joinGame": "", "replay": 0, "gameID": 0, "gameNo": 0, "data": "&gameID=undefined&game=texas&playMoney=1&gameStyle=private-cashgame&tableName=llkTable47&rakeRate=0&speed=60&sb=10&bb=20&tablelow=100&tablelimit=1000&videorequired=false&username=673508846384", "players": 0, "level": 347, "lastAction": "", "game": "", "playMoney": 1, "role": "1", "token":"0a5260592b6efc02d3102c639eac0f60d91ad7de8bf57fa114da179f05bcfa84", "playerId":"25601" } ]
内容的提问来源于stack exchange,提问作者Kavita
相关产品推荐
相关产品推荐

