2011-01-23 5 views
2

사용자 정의 위젯을 만들고 있는데 jQuery와 같은 프레임 워크를 사용하지 않아야합니다. POST를 지원하는 가벼운 크로스 브라우저 객체가 필요합니다. & 콜백으로 가져오고, 온라인에서 몇 가지 솔루션을 보았습니다. 그러나 많이 포함되어 있습니다. 쓸데없는 것들.경량 AJAX 객체가 권장됩니까?

감사

+0

쓸데없는 점을 고려해 보니 왜 이것이 유용 할 수 있는지 설명하는 데 도움이 될 수 있습니다. –

답변

4

는 그냥 XMLHttpRequest의 자신을 반대 사용합니다.

예를보기 위해 모질라 사이트를보고 싶은 경향이 있습니다.이 주제에 대한 좋은 설명이 있습니다.

https://developer.mozilla.org/En/XMLHttpRequest/Using_XMLHttpRequest

할 어렵지 않다, 그것은 어떤 HTTP 요청을 지원하고 당신이 그것을 사용할 수 있도록하는 방법을 쉽게에 따라 그것을 만들 원하는만큼 간단하거나 복잡하다.

jQuery에는 멋진 API가 있으므로 스타일 복사가 유용 할 수 있습니다.

UPDATE : 당신은 위의 링크를 참조해야하지만, POST가 수행 할 수있는 방법을 주로 당신이 볼 수있는 send 함수에 매개 변수를 넣어 볼

. 이 코드를 복사하지 말고, 여기에 간단한 예제 만 넣으면됩니다. 당신이 당신의 주소 표시 줄에서와, 그리고 send에 널 (null)로 방금 URL에 넣어 GET 들어

var xhr = new XMLHttpRequest(); 
xhr.open("POST", "http://foo.com/submitform.php"); 
xhr.send(formData); 

.

1

당신이 JQuery와 사용할 수없는 경우, 당신이 어떤 라이브러리를 사용하지 않고 처음부터 쓸 수 있습니다 : -

var xmlhttp; 

if (window.XMLHttpRequest) { 
    xmlhttp=new XMLHttpRequest(); 
} 
else { 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 

xmlhttp.onreadystatechange=function() { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
    document.getElementById("yourdiv").innerHTML=xmlhttp.responseText; 
    } 
} 

// change "GET" to "POST" if you want to POST 
xmlhttp.open("GET","/yourlink",true); 
xmlhttp.send(); 
+0

POST 코드도 표시하고 싶지만, 예를 들어 readyState의 값 유형을 이해할 수있는 부분에 대해 배우고 싶다고 생각했습니다. –

+0

@James Black : readyState (4 == Complete)를 제외하고 다른 것들은 트리거를 보장하지 않습니다. – mhitza

+0

@mhitza - 나의 지적은 컨텍스트없이 코드를 게시하면 실제로 진행되고있는 작업이나 원하는대로 작동하는 방법을 이해하는 데 도움이된다는 것입니다. –