2011-03-02 4 views
1

내 코드 숨김 메서드로 데이터를 보내려고합니다. 그것은 data 매개 변수에 추가 할 때를 제외하고 작동합니다.jQuery Ajax 요청 웹 메서드

왜 웹 메서드가 추가되지 않는 원인이 추가 되었습니까?

업데이트 : 어떤 클라이언트 측 오류가 발생했는지 확인한 후 ID가 정의되지 않은 것으로 보입니다. 요소 ID를 잘못 가져 오는 내 방법이 있습니까? jsTree와 ca를 사용하고 있음을 명심하십시오 (obj)? 아래

+0

JSON을 두 번 사용

jQuery.fn.your_func_name = function(){ $.ajax({ type: "POST", url: "Pages.aspx/EditPage", data: "{'nodeID': '" + $(this).attr('id') + "'}", contentType: "application/json; charset=utf-8", dataType: "json", success: function (msg) { // Replace the div's content with the page method's return. }); }//function 

이처럼 사용

이 같은 기능을 다시 것입니다, 당신은 당신의 함수 인수에서 'OBJ'의 ID를 얻으려고 노력하는 가정 "{"nodeID ":"+ $ (this) .attr ('id') + ' "}''는 속성 값을 따옴표로 묶을 수 있습니다. – Robert

+0

@ 형식 상 문제가 될 수 있습니다. – kobe

+0

jsTree 내에 포함되어 있기 때문에 그렇게 보입니다. @ 로버트 나는 따옴표를 바꾸려고 노력했는데 작동하지 않았다. 데이터 매개 변수 값이 제거되면 웹 서비스가 제대로 작동합니다. – balexander

답변

0

은 크롬에서 디버깅 후, 나는 ID가 아니었다 발견 한정된. obj 내가 jsTree 현재에있어 노드이기 때문에

data: '{"nodeID": "' + obj.attr('id') + '"}', 

: 나는에 날짜 PARAM을 다시 썼다.

FF 또는 Chrome에서 디버깅하고 인용 부호를 조정하도록 상기시켜 준 모든 사용자에게 감사드립니다.

+0

@ 브라이언 thats 위대한, 당신은 부여함으로써 동일 인정할 수 ... 투표 ... 당신의 문제가 해결 된 위대한 – kobe

1

시도 뭔가 :

data: "{nodeID: '" + $(this).attr('id') + "'}", 

편집 :

jQuery.parseJSON('{"name":"John"}'); 
+0

'var nodeID = jQuery.parseJSON ('{ "nodeID": "+ $ (this) .attr ('id ') +'"} ');'데이터 : nodeID'를 설정하려고했지만 행운이 없다. . 내가 뭐 잘못 했어요? – balexander

+1

@ nodeID를 한 번 경고하고 형식화 된 방법을 확인하십시오. – kobe

+0

@ firebug net 패널에서 데이터가 백엔드로 어떻게 보내 지는지 확인하십시오. – kobe

0

이 시도 ID를 얻기 위해, 당신은 시도 this.id

0

몇 가지를 사용할 수 있습니다

  1. 콘텐츠 유형 제거
  2. 은 단일 및 이중 따옴표

그것은 다음과 같을 것이다 JSON 키 주위

  • 스왑 따옴표를 제거 :

    function (obj) { 
        $.ajax({ 
         type: "POST", 
         url: "Pages.aspx/EditPage", 
         data: '{nodeID: "' + $(this).attr('id') + '"}', 
         dataType: "json", 
         success: function (msg) { 
           alert('success!'); 
         } 
        }); 
    } 
    
  • 0

    'this'참조는 jQuery 'this'를 참조합니다. 따라서 ID가 정의되지 않았습니다.

    $('#some_element').your_func_name();