| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1703 人关注过本帖
标题:调用JS脚本,提示 JSON未定义 怎么解决,JS不是很懂。
只看楼主 加入收藏
easyppt
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:306
专家分:708
注 册:2021-11-24
结帖率:100%
收藏
 问题点数:0 回复次数:22 
调用JS脚本,提示 JSON未定义 怎么解决,JS不是很懂。
下面的代码提示:JSON未定义,

oScript = Createobject("ScriptControl")
oScript.Language = "javaScript"
oScript.AddCode('function fun1(jsonString){var obj = JSON.parse(jsonString);}')
? oScript.Run("fun1", '{"name":"Roob", "type":"CCC"}')
搜索更多相关主题的帖子: 未定义 调用 脚本 提示 JS 
2023-07-10 15:17
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:0 
ScriptControl 不是JS解析器
2023-07-10 16:30
yiyanxiyin
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:238
专家分:1790
注 册:2023-6-29
收藏
得分:0 
https://cdn. 下载下来
oScript.AddCode(("D:\\yourapp\\json3.min.js"));
然后再调用JSON.parse()
2023-07-11 11:39
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:0 
以下是引用yiyanxiyin在2023-7-11 11:39:10的发言:

oScript.AddCode(("D:\\yourapp\\json3.min.js"));

不是vfp语句吧
2023-07-11 11:55
yiyanxiyin
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:238
专家分:1790
注 册:2023-6-29
收藏
得分:0 
不好意思, 用vfp读取文本文件的方法把js文件内容读出来放字符串变量里面, 然后addcode(字符串变量)

[此贴子已经被作者于2023-7-11 13:48编辑过]

2023-07-11 13:47
easyppt
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:306
专家分:708
注 册:2021-11-24
收藏
得分:0 
AddCode()  字符串长度有限吗,我读入一个 1M左右的 json字符串好像被截断了
2023-07-11 14:32
iswith
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:454
专家分:611
注 册:2013-5-14
收藏
得分:0 
首先VFP是不可能去解析JS运行的!像这类情况应该使用WebView2来完成你的操作,如果不涉及前端的话,你直接对译用VFP的json来解析!
2023-07-11 14:40
easyppt
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:306
专家分:708
注 册:2021-11-24
收藏
得分:0 
以下是引用yiyanxiyin在2023-7-11 11:39:10的发言:

https://cdn. 下载下来
oScript.AddCode(("D:\\yourapp\\json3.min.js"));
然后再调用JSON.parse()


刚刚测试 有效,谢谢!

另外问一下 如何判断 某个key 是否为数组?
Array.isArray(obj),提示js 代码无效,可能如 吹版说的,ScriptControl 不是 js,
或者 有没有对应的 js脚本 可以 AddCode ,然后再用: Array.isArray(obj)
2023-07-11 15:02
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:0 
可以解析执行脚本
dom = CREATEOBJECT("htmlfile")
dom.write('<script>var fun=function(jsonString){return JSON.parse(jsonString);}</script>')
win = dom.parentWindow
obj = win.fun('{"name":"Roob","type":"CCC"}')
? obj.name, obj.type
2023-07-11 15:03
yiyanxiyin
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:238
专家分:1790
注 册:2023-6-29
收藏
得分:0 
function isArray(arr) {
  const toString = Object.prototype.toString
  const isArray = Array.isArray || function (arg) { return toString.call(arg) === '[object Array]' }
  return isArray(arr)
}
2023-07-11 17:19
快速回复:调用JS脚本,提示 JSON未定义 怎么解决,JS不是很懂。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048815 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved