获取自动递增的ID以返回我的POST请求?

时间:2019-05-16 10:46:29

标签: javascript ajax xmlhttprequest

我想创建一个团队并将其通过我创建的REST服务发布到我的数据库中,该服务正在运行。 但是我需要ID作为回报,因为我必须将其添加到另一个POST请求中,那么获取作为回报的自动递增ID的最佳方法是什么?我缺少一些简单的解决方案吗?

/*Post Base Request */
function postAjax(url, data, success) {
    var params = typeof data == 'string' ? data : Object.keys(data).map(
            function(k){ return encodeURIComponent(k) + '=' + encodeURIComponent(data[k]) }
        ).join('&');

    var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
    xhr.open('POST', url);
    xhr.onreadystatechange = function() {
        if (xhr.readyState>3 && xhr.status==200) { success(xhr.responseText); }
    };
    xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
    xhr.setRequestHeader('Content-Type', 'application/json');
    xhr.send(params);
    return xhr;
}

/* Funtion used onClick "create team" */ 
function createTeam(){
    var teamToSend = {
        teamName: document.getElementById('name').value
    }
    const convertTomemberIdString = JSON.stringify(teamToSend);
    postAjax('https://xxx.azurewebsites.net/Service1.svc/teams',convertTomemberIdString, function(data){ console.log(data);})
    console.log(`${status}`);
}

1 个答案:

答案 0 :(得分:0)

两个选项:

  1. 已将其从服务器返回作为对此请求的响应。
  2. 维护一个计数器变量,并在请求成功时将其递增。 (不是永久性的,因为您将失去页面刷新的值)