javascript - 将 JSON 对象的部分内容替换为 HTML 输入值

标签 javascript html json ajax

我最近测试了很多不同的语法来发送 ajax post 请求,唯一真正有效的是我从 Postman 测试中得到的语法。我现在遇到的唯一问题是 Postman 代码片段是“硬编码”的,并且具有我以前从未见过的奇怪的字符串语法。我想用 HTML 输入中的值替换该奇怪字符串的部分内容。我有什么想法可以实现这一目标吗?

我有两个简单的 HTML 输入:

<input type="text" id="username" name="username" placeholder="Username" autofocus /> 
<input type="password" id="password" name="password" placeholder="Password" />

这是我从 Postman (JavaScript) 获得的部分:

var settings = {
        "async": true,
        "crossDomain": true,
        "url": "...",
        "method": "POST",
        "headers": {
        "Content-Type": "application/json",
        "cache-control": "no-cache"
        },
            "processData": false,
            "data": "{  \r\n\"Username\":\"username123\",\r\n\"Password\":\"password123\"\r\n}"
        }
$.ajax(settings).done(function(response) {
    console.log(response);
    });

具体来说,我要问的部分是“数据”行。我希望能够从两个 HTML 输入中获取值,并分别用它们替换“username123”和“password123”。我尝试过使用数据字符串,例如删除\r\n 和一些 "和\,但随后我从尝试调用的 API 中收到错误。我真的需要所有这些吗?需要明确的是, 我想知道如何使用有效语法将变量放入字符串中,而不是如何获取值,例如:

var usname = document.getElementById("username").val();

var usname = $('#username').val(); 

这些 JSON 语法经过测试并收到错误:

"data": {"Username": "username123","Password": "password123"}
"data": "{"Username": "username123", "Password": "password123"}"
"data": {"Username": usname, "Password": pword}
"data": {"Username": $('username').val(), "Password": $('password').val()}

我觉得至少第一个应该可以工作,但它只是返回错误 500。作为引用,以下是 Postman 中的正文(数据)(工作):

{  
"Username":"username123",
"Password":"password123"
}

这可能是空格或其他问题吗?遗憾的是,我无法访问我正在调用的 API 的源代码。

最佳答案

I'm wondering how to put my variables into the string using valid syntax

settings.data = settings.data.replace("username123", usname);
settings.data = settings.data.replace("password123", uspassword);

关于javascript - 将 JSON 对象的部分内容替换为 HTML 输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55777132/

相关文章:

javascript - 如何过滤Json对象?

python - Pandas 数据框和转换为 Json

javascript - 无法在 native react 中显示多个图像

javascript - jQuery 加载 - 错误 : Uncaught SyntaxError: Unexpected token <

html - VBA - Google 新闻搜索结果的数量

html - 在大图像周围应用边框图像

c# - Active Directory OU 树到 jqTree

javascript - 通过Jquery调用tr属性并找到我的内部复选框

javascript - 带有 html5 颜色输入的 AngularJS - 动态设置值

javascript - 如何在 JavaScript 中将数字格式化为不带小数点的货币?