2011-04-21 6 views
0

jQuery를 사용하여 페이지 메서드를 호출하고 있습니다. 예에서 모두 사용하여 응답을 수신 result.d(.D) 예를 들어jquery를 사용하여 페이지 메서드에서 응답 받기

:

function onSuccess(msg){ 
    alert("suc" + msg.d);   
} 

이 나를 인도 하시길 바랍니다 .d 무엇인가? .. 당신이 여기 Ajax 호출을하고 가정

var msg = { 

    d: "hello", 
    e: "there" 

} 


alert(msg.d);//alerts 'hello' 
alert(msg.e);//alerts 'there' 

답변

5

:

당신은 내가 말하는 겁니다은 ".D" 에 익숙하지 않은 경우, 그것은 마이크로 소프트가 3.5의 ASP.NET에 을 추가 한 단순히 보안 기능입니다 ASP.NET AJAX 버전. 부모 개체 내에 JSON 응답을 캡슐화하면 프레임 워크가 particularly nasty XSS vulnerability으로부터 보호 할 수 있습니다.

this post으로 전체 기입하십시오.

1

아니라 당신이 dataType와 설정 한 호출 : 'JSON'.. 그래서

를,이 같은 짓을 가정 - 내가 예를 들어 언어로 PHP를 사용합니다 ...

$ var = array ('d'=> "Hello"); echo json_encode ($ var); { 경고 (msg.d를)

는 onSuccess (MSG) :

그런 다음 클라이언트에 당신이 뭔가를 할 수 // "Hello"를 알립니다.

In Javascript. 객체 구성원을 참조 만하면됩니다.

do var blah = {d : "Hello"}; console.log (blah.d); "Hello"를 출력합니다 ..

1

그리고 당신의 AJAX에 : msgObject이며 객체는 다음과 같이 볼 수 있습니다 d 요소

에 액세스하는 것을 의미

1

".d"는 msg로 수신 된 json 객체의 "속성"(또는 있어야 함)입니다.

자바 스크립트 객체 표기법 (json)은 자바 스크립트가 객체 (이 경우 msg)를 검사하고 전통적인 "object.property"표기법을 사용하여 속성을 찾는 방식으로 웹 메소드 끝에 객체를 직렬화합니다. Dave Ward's blog에서

1

귀하의 응답 데이터는 이라고하는 property/key을 포함하는 JSON Object입니다. 일반적으로 Ajax 응답은 JSON 형식으로 인코딩되므로 클라이언트 측의 javascript에서 액세스 할 수 있습니다.

asp.net에서 응답을 JSON 형식으로 인코딩하려면 일반적으로 JSON.NET 프레임 워크를 사용합니다.

서버에서받는 JSON 응답에 d이라는 키/속성이 포함되어 있습니다.이 키/속성은 msg.d으로 작성하여 액세스합니다.

는 일반적으로 JSON 객체는 다음과 같은 구조가 -

var jsonObject = { 
        key1: value_1, 
        key2: valuu_2, 
        ............. 
        keyn: value_n 
       } 

을 한 후 다음과 같은 방법으로 키/속성 값에 액세스 - 여기

jsonObject.key1 

value은 어떤 자바 스크립트 데이터 타입이 될 수 즉, 문자열, 숫자, 다른 JSON 객체까지도 포함 할 수 있습니다.

3

d는 msg의 property입니다.

var msg = { 
    d: 'foo' 
} 

//echoes 'foo' 
alert(msg.d); 
0

필드 'D'는 난, 이는 'D'라는 될 수 있다고 생각 응답의 '데이터'를 참조 할 수 있지만, 만약 상기 응답 데이터에 대한 속성의 이름 이것에 대해 더 알고 싶다면 jquery 파일을 확인하고 ajax 메서드를 찾을 수있다.

관련 문제