将变量传递给Ajax URL

时间:2013-10-10 16:46:30

标签: javascript jquery ajax

我正在尝试在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

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

3 个答案:

答案 0 :(得分:2)

你真的不需要解析它,因为你只是把它放回一个字符串中。尝试删除parse int然后consol记录用户变量的值。

另外,也许你有很多用户元素?控制台记录$(“。user”)以查看是否有数组。

答案 1 :(得分:1)

看起来解析失败了,而是获得NaN(非数字)。

您能否验证parseInt的输入字符串是否为数字?

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

答案 2 :(得分:0)

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

我相信这种方法可以帮助你。