我有一个包含API文件URL的数据属性的表单:
<form class="product" action="#" data-url="dist/scripts/main.js">
[...]
</form>我希望将数据属性中的URL传递给外部脚本中的Ajax调用。
external.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函数中使用的(data)参数。
错误:Cannot read property '0' of undefined指包含currentPosition = data.Positions[0].Position;的行
我不知道为什么URL没有正确传递给ajax函数。
发布于 2016-11-21 20:52:23
https://plnkr.co/edit/RT0cHEAjDHFssXg2YbC4?p=preview
它在这里工作-您可以在控制台中看到404。确保在dom加载后加载external.js。在本例中,它只是script.js,或者您可以使用$(文档).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>https://stackoverflow.com/questions/40728715
复制相似问题