How can I send json in body request with ajax? Only use Javascript and do not use jQuery !!! Someone can help I remind you not to use jQuery!!!
            Asked
            
        
        
            Active
            
        
            Viewed 305 times
        
    3 Answers
0
            
            
        You can create function that work like jquery ajax request.
function AJAX(url, success, async) {
    if (window.XMLHttpRequest) {
        var request = new XMLHttpRequest;
    } else {
        // IE6 and IE5 (unnecessary)
        var request = new ActiveXObject("Microsoft.XMLHttp");
    }
    if (async) request.onReadyStateChange = function() {
        if (request.readyState == 4) {
            success(request.status, request.responseText);
        }
    };
    request.open("GET", url, async);
    request.send();
    if (!async) success(request.status, request.responseText);
}
 
    
    
        Maksym Sivash
        
- 63
- 1
- 6
0
            
            
        I don't got the point. If all you need is to request an URL and send JSON body, you can achieve it simply with XMLHttpRequest :
var xhr = new XMLHttpRequest();
var url = "url";
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function () {
    if (xhr.readyState === 4 && xhr.status === 200) {
        console.log('RESPONSE');
    }
};
var data = {"email": "hey@mail.com", "password": "101010"}; // JSON YOU SEND
xhr.send(JSON.stringify(data));
Original answer here : Sending a JSON to server and retrieving a JSON in return, without JQuery
 
    
    
        Robin Michay
        
- 679
- 3
- 4
0
            
            
        You can try something like that
var xhr = new XMLHttpRequest;
xhr.open('POST', '/your_url');
xhr.setRequestHeader("Content-type", "application/json");
xhr.onreadystatechange = function() {
  if (xhr.readyState == 4 && xhr.status == 200) {
    // success
    console.log(xhr.responseText); 
  } else {
    // other
    console.log('Error, status code = ' + xhr.status + ', response = '+xhr.responseText);
  }
};
var payload = JSON.stringify({param1: 1, param2: 'hello'});
xhr.send(payload);
 
    
    
        Reflective
        
- 3,854
- 1
- 13
- 25
