我正在尝试在URL中添加一个变量(整数)以用于Ajax请求:
在我的HTML中,我有:
<span class="user">15</span>
脚本:
$('#fileupload').click(function () {
$(this).fileupload({
dataType: 'json',
done: function (e, data) {
$.each(data.result.files, function (index, file) {
if (file.error != null) {
$console.text(file.error);
}
var user = parseInt($(".user").text(), 10);
//Open the uploaded file//
$.ajax({
url: "files/" + user + '/' + file.name,
dataType: 'json',
type: 'GET',
success: function (res) {
handsontable.loadData(res.data);
$console.text('Loaded file: ' + file.name);
}
});
});
}
});
});
但是,变量(15)没有传递给URL,我收到错误:
/files/NaN/data.json
我知道我在做一些愚蠢的事情,到处搜寻,但它是什么?
答案 0 :(得分:2)
你真的不需要解析它,因为你只是把它放回一个字符串中。尝试删除parse int然后consol记录用户变量的值。
另外,也许你有很多用户元素?控制台记录$(“。user”)以查看是否有数组。
答案 1 :(得分:1)
看起来解析失败了,而是获得NaN
(非数字)。
您能否验证parseInt
的输入字符串是否为数字?
此外,您正在将user
转换回字符串。你真的需要parseInt
吗?
答案 2 :(得分:0)
我建议你尝试在Chrome控制台(F12)中运行$('.user').text()
(例如),看看你是否有一些空值或类似的东西。
我相信这种方法可以帮助你。