0

Ajax リクエストで使用する変数 (整数) を URL に追加しようとしています。

私の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

私は愚かなことをしていることを知っていて、どこでも検索しましたが、それは何ですか?

4

3 に答える 3

1

文字列に戻すだけなので、実際に int で解析する必要はありません。parse int を削除してから、ユーザー変数の値をログに記録してみてください。

また、ユーザー要素が多いのではないでしょうか? コンソール ログ $(".user") を実行して、配列を取得できるかどうかを確認します。

于 2013-10-10T16:51:07.960 に答える
1

解析に失敗したようで、NaN代わりに (not-a-number) が返されます。

parseIntへの入力文字列が数字のように見えることを確認できますか?

また、user文字列に変換しています。あなたは本当にparseIntここにいる必要がありますか?

于 2013-10-10T16:49:36.660 に答える
0

$('.user').text()空の値などがあるかどうかを確認するために、(たとえば) Chrome コンソール (F12) で実行することをお勧めします。

このアプローチがあなたを助けることができると信じています。

于 2013-10-10T17:03:10.513 に答える