-3
A
답변
0
당신이 원하는 모든 기본적인 요청이 다음 함수 어떤 라이브러리없이 쉽게 할 수있는 경우 난 당신이 무슨 뜻인지 추측하는 데 http://www.quirksmode.org/js/xmlhttp.html
function sendRequest(url,callback,postData) {
var req = createXMLHTTPObject();
if (!req) return;
var method = (postData) ? "POST" : "GET";
req.open(method,url,true);
req.setRequestHeader('User-Agent','XMLHTTP/1.0');
if (postData)
req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
req.onreadystatechange = function() {
if (req.readyState != 4) return;
if (req.status != 200 && req.status != 304) {
// alert('HTTP error ' + req.status);
return;
}
callback(req);
}
if (req.readyState == 4) return;
req.send(postData);
}
var XMLHttpFactories = [
function() {return new XMLHttpRequest()},
function() {return new ActiveXObject("Msxml2.XMLHTTP")},
function() {return new ActiveXObject("Msxml3.XMLHTTP")},
function() {return new ActiveXObject("Microsoft.XMLHTTP")}
];
function createXMLHTTPObject() {
var xmlhttp = false;
for (var i=0;i<XMLHttpFactories.length;i++) {
try {
xmlhttp = XMLHttpFactories[i]();
}
catch (e) {
continue;
}
break;
}
return xmlhttp;
}
0
여기에서 찾을 수 있지만, 기본적으로, 당신은 사용 XMLHttpRequest
object은 아약스 요청을 수행합니다. 다른 브라우저가 채택하고 현재 표준화 작업을 진행중인 Microsoft의 혁신입니다. 최신 브라우저에서는 다음과 같이 보입니다.
function sendRequest() {
var request = new XMLHttpRequest();
request.open('GET', '/Home/Start', false);
request.onreadystatechange = handleStateChange;
request.send(null);
function handleStateChange() {
if (request.readyState === 4) {
// The request is complete; did it work?
if (this.status >= 200 && this.status < 300) {
// Yes, you can use the data on request.responseText
// or (for requests with XML replies) request.responseXML
// In our case, let's say we want to put all of the text
// into the element with the `id` "js_script":
var elm = document.getElementById("js_script");
elm.innerHTML = request.responseText;
}
}
}
}
분명히 상당히 단순합니다. 오래된 브라우저에서, 당신은 객체 생성 주위에 검사의 몇 가지를해야 할 (예를 들어, IE7에서 작동하지 않습니다 new XMLHttpRequest
을하지만, IE7에 그것을 할 수있는 방법이 있습니다.) 생성 주위
합병증을 구식 브라우저의 객체는 여러 가지 중 하나입니다. jQuery, Prototype, YUI, Closure 또는 any of several others과 같은 적절한 자바 스크립트 라이브러리를 사용하는 것이 좋습니다. 브라우저 차이를 부드럽게 처리하고 많은 유틸리티 기능을 추가하며 HTTP 상태 코드 (예 : HTTP 상태 코드)를 걱정하지 않고 특정 작업을 완료하는 데 집중할 수 있습니다. 도서관 없이는 일할 수있는 시간과 장소가 없다는 것을 의미하지 않습니다. — 물론 평상시에는 완전히 독자적으로가는 것보다 다른 사람의 작업에 더 생산적으로 작용할 수있는 것은 —입니다.
관련 문제
- 1. 트리거 jQuery를 1.5 Ajax 요청을 수동으로
- 2. Sharepoint 2010에서 HTTP 처리기로 jQuery AJAX 요청을 만드는 방법은 무엇입니까?
- 3. xmlhttp 요청을 만드는 방법은 무엇입니까?
- 4. jquery 비동기/병렬 요청을 만드는 방법은 무엇입니까?
- 5. jQuery에서 ajax 요청을 일괄 처리하는 방법은 무엇입니까?
- 6. 친숙한 URL을 수동으로 만드는 방법은 무엇입니까? (PHP)
- 7. 수동으로 RestKit에서 객체 매핑을 만드는 방법은 무엇입니까?
- 8. pymongo를 사용하여 수동으로 DBRef를 만드는 방법은 무엇입니까?
- 9. 랙 미들웨어로 AJAX 요청을 프록시하는 방법은 무엇입니까?
- 10. Perl에서 Ajax 요청을 받고 응답하는 방법은 무엇입니까?
- 11. 여러 Ajax 요청을 관리하는 올바른 방법은 무엇입니까?
- 12. Merb와 Webrat으로 AJAX 요청을 테스트하는 방법은 무엇입니까?
- 13. jQuery를 사용하여 ajax 요청을 보내고받는 방법은 무엇입니까?
- 14. Ajax 요청을 사용하여 partial을로드하는 방법은 무엇입니까?
- 15. AJAX 요청을 최적화하기위한 요청을 최적화하기
- 16. 여러 AJAX 요청을 만드는 가장 실질적인 방법
- 17. jQuery를 사용하여 AJAX 요청을 만드는 방법
- 18. drupal_http_request로 https POST 요청을 만드는 방법은 무엇입니까?
- 19. 내 아약스 요청을 안전하게 만드는 방법은 무엇입니까?
- 20. Illustrator 스크립트에서 HTTP 요청을 만드는 방법은 무엇입니까?
- 21. HTTP PUT 요청을 만드는 방법은 무엇입니까?
- 22. Sinatra 코드에서 POST 요청을 만드는 방법은 무엇입니까?
- 23. WatiN 내부 http 요청을 만드는 방법은 무엇입니까?
- 24. Java : SOAP 요청을 만드는 방법은 무엇입니까?
- 25. IE가 ajax 요청을 캐시합니다.
- 26. JSF Ajax 요청을 인터럽트합니다.
- 27. Ajax 요청을 정상적으로 취소합니다.
- 28. AngularJS에서 AJAX 중첩 목록을 만드는 방법은 무엇입니까?
- 29. AJAX 작동 웹 사이트를 만드는 방법은 무엇입니까?
- 30. greasemonkey에서 동기식 AJAX 호출을 만드는 방법은 무엇입니까?
왜 수동으로 하시겠습니까? ASP 또는 자바 스크립트에서? 또한 jQuery와 같은 라이브러리를 사용할 수 있습니까? – GillesC
JavaScript에서 문제가 발생했을 때 온라인으로 보는 방법을 "찾지"못합니다. 안타깝게도, JS 프로그래머의 대다수는 이것을하기에는 너무 게을러서 jQuery를 대신 사용한다. –
@Kolink : jQuery는 브라우저 간 호환성이 뛰어납니다. 문제를 찾아 내면 Firefox가 아닌 Chrome에서만 작동합니까? 바닐라의 AJAX Plus JavaScript는 못생긴 :-P –