首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将data-url属性传递给jQuery ajax url

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

Stack Overflow用户
提问于 2016-11-21 20:25:53
回答 1查看 4.3K关注 0票数 0

我有一个包含API文件URL的数据属性的表单:

代码语言:javascript
复制
<form class="product" action="#" data-url="dist/scripts/main.js">
    [...]
</form>

我希望将数据属性中的URL传递给外部脚本中的Ajax调用。

external.js:

代码语言:javascript
复制
var apiUrl = $('.product').data('url');
console.log(apiUrl) // This returns the correct URL set above

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

我甚至把它浓缩成这样,同样的结果:

代码语言:javascript
复制
$.ajax($('.product').data('url')).done(function(data) {
    [...]
});

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

错误:Cannot read property '0' of undefined指包含currentPosition = data.Positions[0].Position;的行

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-21 20:52:23

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

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

代码语言:javascript
复制
<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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40728715

复制
相关文章

相似问题

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