【问题标题】:Why does jsfiddle throw error that function is not defined? [duplicate]为什么jsfiddle会抛出该函数未定义的错误? [复制]
【发布时间】:2015-06-07 11:21:20
【问题描述】:

我测试的例子很简单:只有一个按钮,当点击按钮时会调用一个函数。但是,我得到:

错误 ReferenceError: AddNewData 未定义 {"error": "请使用 POST 请求"}

这里是 jsfiddle 链接:http://jsfiddle.net/tridip/62Ls6x9n/158/

<button onClick="javascript:AddNewData();return false;">Add New Data</button>
function AddNewData()
{
    alert("test");
}

谁能告诉我那里出了什么问题?

【问题讨论】:

  • 在正文中使用之前,您是否尝试过在 HEAD 中定义脚本?

标签: javascript jsfiddle


【解决方案1】:

这是因为默认情况下 jsfiddle 为您的代码使用 onLoad JS 定义。

就是这样 - 它被包装在一个匿名函数中,因此所有符号(变量、函数等)都在其中。

改成No wrap - in &lt;head&gt;

http://jsfiddle.net/62Ls6x9n/160/

【讨论】:

  • 会介意详细说明.......事情对我来说很清楚我读了你的答案。你到底想说什么。
  • 只是您的 JavaScript 代码默认包装在 onLoad 中,并且不存在于 main 范围内。将其更改为nowrap 将其关闭。使用onload,它看起来像下面这样:window.addEventListener('load', function() { function AddNewData() { alert("test"); } }, false);
  • 你的小提琴甚至没有解决问题,点击“更新数据”返回Uncaught TypeError: UpdateData is not a function。这就是我认为的问题。
  • 字面意思是:“为什么 jsfiddle 会抛出函数未定义的错误?”您的 Fiddle 是否仍然抛出未定义函数的错误?是的。也许你可以尝试重新阅读这个问题,而不是一味地居高临下。你解决了一半的问题,在这种情况下:与他碰巧粘贴的错误有关的一半。但是他的小提琴中也包含的下一个功能仍然存在同样的问题。也许你可以更新你的小提琴来修复那个问题,如果解决方案不同,请解释你是如何做到的。
  • 这部分答案中的“它”是什么意思? “将其更改为不换行 - 在 中”我没有看到 head 标签???
猜你喜欢
  • 2018-07-09
  • 1970-01-01
  • 2018-08-19
  • 1970-01-01
  • 1970-01-01
  • 2015-02-13
  • 1970-01-01
  • 2021-05-11
  • 2014-04-17
相关资源
最近更新 更多