javascript - 将 data-url 属性传递给 jQuery ajax url

标签 javascript jquery ajax custom-data-attribute

我有一个带有数据属性的表单,其中包含 API JSON 文件的 URL:

<form class="product" action="#" data-url="dist/scripts/main.js">
    [...]
</form>

我想将 URL 从数据属性传递到外部脚本中的 Ajax 调用中。

外部.js:

var apiUrl = $('.product').data('url');
console.log(apiUrl) // This returns the correct URL set above

$.ajax(apiUrl).done(function(data) {
    [...]
});

我什至像这样压缩它并得到相同的结果:

$.ajax($('.product').data('url')).done(function(data) {
    [...]
});

当我这样做时,我会执行一个反馈循环,可能是因为 ajax 函数中使用了(数据)参数。

错误:无法读取引用包含 currentPosition = data.Positions[0].Position; 的行的未定义属性“0”

我不确定为什么 URL 没有正确传递给 ajax 函数。

最佳答案

https://plnkr.co/edit/RT0cHEAjDHFssXg2YbC4?p=preview

它在这里工作 - 你可以在控制台中看到 404。确保在 dom 加载后加载 external.js。在本例中,它只是 script.js 或者您可以使用 $( document ).ready()

<html>

  <head>
    <script data-require="jquery@*" data-semver="3.0.0" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.js"></script>
    <link rel="stylesheet" href="style.css" />
  </head>

  <body>
    <h1>Hello Plunker!</h1>
    <form class="product" action="#" data-url="dist/scripts/main.js">
    <input type="text">

  </form>
 <script src="script.js"></script>

  </body>

</html>

关于javascript - 将 data-url 属性传递给 jQuery ajax url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40728715/

相关文章:

javascript - 如何检查所有参数是否相同并返回字符串

jquery - 计时器?

返回 AJAX 响应的 JavaScript 函数(没有 jQuery)?

javascript - RESTful ajax - "item not found"的 HTTP 状态代码是什么?

javascript - 在数组中找到所有可能的两个组合

javascript - 更改 PartialView 中 <p> 的值

javascript - IE 11 问题 - 最小化当前窗口后显示 Alert() 弹出窗口

javascript - 3d 透视效果只能在 chrome 中正常工作?

javascript - 根据 data.name 显示一个 div

javascript - jquery 模板内的 &lt;script&gt; 标签