繁体   English   中英

将变量传递给Ajax URL

[英]Pass a variable to Ajax URL

我试图在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

我知道我在做一些愚蠢的事,到处搜寻,但这是什么?

您实际上不必解析int,因为您只是将其放回字符串中。 尝试删除parse int,然后合并记录用户变量的值。

另外,也许您有许多用户元素? 控制台日志$(“。user”)来查看是否有数组。

看起来解析失败,而您得到的是NaN (非数字)。

您可以验证要parseInt的输入字符串看起来像数字吗?

另外,您正在将user转换回字符串。 您真的需要在这里parseInt吗?

我建议您尝试在chrome控制台(F12)中运行$('.user').text() )(例如),看看您是否有一些空值或类似的值。

我相信这种方法可以为您提供帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM