2013-10-10 12 views
0

는 Ajax 요청에 사용되는 아약스의 URL에 변수를 전달합니다내가 URL에서 변수 (정수)를 추가하기 위해 노력하고있어

<span class="user">15</span> 

그리고 내 HTML에서

을, 내가 가진 스크립트

/files/NaN/data.json 
:

$('#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에 전달되지 않는, 나는 오류

나는 바보 같은 짓을하고 도처에서 수색했음을 알고 있지만 무엇입니까?

+2

페이지에 여러 개의'.user' 엘리먼트가 있습니까? – Barmar

+0

그게 문제라고 생각합니다. 그 이름을 다른 것으로 바꿨습니다. 감사! –

답변

2

int를 구문 분석 할 필요가 없습니다. 문자열로 다시 채우기 만하면됩니다. parse int를 제거한 다음 사용자 변수의 값을 기록하십시오.

또한 많은 사용자 요소가있을 것입니다. 콘솔 로그 $ (". 사용자")로 배열이 있는지 확인하십시오.

+0

또한 'user'클래스에 하나의 객체 만 있는지 확인하십시오. 그렇지 않으면'$ ('. user') [0]' – Dementic

+0

시도하십시오. 너무 많은 사용자가 문제인 것으로 보입니다. 또한, parseint 정말 필요하지 않았다, 감사합니다! –

1

구문 분석이 실패한 것처럼 보이며 대신 NaN (not-a-number)이 표시됩니다.

parseInt의 입력 문자열이 숫자처럼 보이는지 확인할 수 있습니까?

또한 user을 문자열로 변환하고 있습니다. 여기에 parseInt이 정말로 필요합니까?

0

Chrome 콘솔 (F12)에 $('.user').text() (예 :)을 실행하여 값이 비어 있는지 확인하는 것이 좋습니다.

이 방법이 도움이 될 수 있다고 생각합니다.

관련 문제