首页 > 解决方案 > 获取自动递增的 id 以返回我的 POST 请求?

问题描述

我想创建一个团队并通过我创建的 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}`);
}

标签: javascriptajaxxmlhttprequest

解决方案


两种选择:

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

推荐阅读