首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Alpacajs中从后端发送一个函数和方案

在Alpacajs中从后端发送一个函数和方案
EN

Stack Overflow用户
提问于 2018-02-10 16:12:58
回答 1查看 92关注 0票数 0

我在后端有一个API来返回AlpacaJS表单的完整json (模式和选项)。响应的内容类型是application/json。以下是一个样本答复,

代码语言:javascript
复制
{
  "options": {
    "fields": {
      "students": {
        "items": {
          "type": "tablerow"
        },
        "type": "table"
      }
    },
    "form": {
      "buttons": {
        "submit": {
          "click": "function(){alert(\"sample\");}"
        }
      }
    }
  },
  "schema": {
    "properties": {
      "students": {
        "items": {
          "properties": {
            "name": {
              "required": true,
              "title": "Name",
              "type": "string"
            },
            "contact-number": {
              "title": "Age",
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": "array"
      }
    },
    "type": "object"
  }
}

单击Submit按钮时,会在浏览器控制台中得到以下错误:

Uncaught TypeError: t.call is not a function

我认为问题在于,在响应的下面一节中,函数被视为字符串。

代码语言:javascript
复制
"form": {
  "buttons": {
    "submit": {
      "click": "function(){alert(\"sample\");}"
    }
  }
}

AlpacaJS中是否有从后端发送javascript函数的方法,或者是否有方法将函数字符串转换为前端的javascript函数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-12 14:48:26

为了达到这个目的,您应该通过执行new Function('return ' + val)();将字符串化的函数转换为一个函数(请注意,这是一种eval和伊瓦尔是邪恶的的形式)。

这是一个有用的小提琴。告诉我这对你不管用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48722807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档