当向粒子(以前称为Spark)光子提交数据时,Lua会将空值索引化。
2016-1-2 21:29:58
收藏:0
阅读:82
评论:1
我和我的表弟一直在试验他的新 Photon 芯片,我们决定要有点创意,用 ComputerCraft(Minecraft 的模组)和一些 Lua 代码来驱动他造的小车。可惜,每次我们输入时,它索引的是空值;我们不确定是因为 http.post 代码错误还是我们不知道的其他原因……有什么想法吗?
URL = "https://api.particle.io/v1/devices/456456456456/updateMotors("
token = "access_token=123456789"
robotState = 0
while true do
os.pullEvent("redstone")
if((redstone.getInput("bottom") == true) and (robotState ~= 0)) then
robotState = 0
returnData = http.post(URL .. "\"0\"" .. ")", token)
returnData.close()
.....
end
end
(代码的其余部分看起来与此相同,因此省略部分内容)
我们正在尝试将字符串传递给一个 Photon 函数来驱动电机,但每次我们创建一个 redstone 信号时,它都会显示“Drive:11:尝试索引?(空值)”——但仅当 Photon 连接时。
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
我建议添加一个
print( tostring( returnData ) )并告诉我们它打印了什么。非常有可能
returnData是空值。以下是有关 HTTP 句柄的一些信息:
因此,根据这些信息,我们知道
close是一个有效的函数。加上您的错误提示,我们知道returnData是空值,而http.post在失败时返回空值。排错步骤
所以,如我之前所提到的,您需要添加一个调用
tostring的打印语句,对returnData进行操作。这应该返回一个句柄,您可以在其上执行returnData.readAll()以获取请求中的信息。由于这不起作用,这很可能是因为请求失败了(当http.post失败时,会返回空值)。要找出失败原因,我建议打印出它使用的 URL,并通过浏览器访问它。我还注意到您正在使用
token作为您的提交数据。也许 Token 无效?问题可能也由于传递 Token 的方式不正确而导致。也许,您应该通过 URL 栏(PHP GET)将它传递,像这样:
returnData = http.post(URL .. "\"0\"" .. ")?"..token)这将转换为
"https://api.particle.io/v1/devices/456456456456/updateMotors(\"0\")?access_token=123456789"我没有使用过此 API,但是
updateMonitor中的零是否应该传递为字符串?如果是,那么 URL 也可能需要进行 URL 兼容性检查。使用 这个 检查它是否兼容。希望您可以找到问题的解决方法。