javascript - 用于简单 GET 请求的 Javascript 函数(在 URL 中带有变量信息)
问题描述
情况如下:
- 一个有两个输入的网页;
input_1
和input_2
input_1
是用户输入的代码input_2
更像是一个令牌字符串,预先填写或由用户填写- 请求的 URL 格式
GET
如下:https://www.apiserver.com/api/v1/static_param_1/input_1/tokens/redeem?token=input_2
该网页有一个表单,其中包括一个 element_id 为 的按钮button_1
、两个具有元素 idelem_input_1
和的文本元素elem_input_2
。
我需要使用 javascript 创建 GET 请求,当用户输入值并单击按钮时会触发该请求。
到目前为止,我尝试了以下方法。非常感谢任何帮助:
var button = document.getElementById('button_1');
function executeGetReq() {
var input_1 = document.getElementById('elem_input_1').value;
var input_2 = document.getElementById('elem_input_2').value;
var url = "https://www.apiserver.com/api/v1/static_param_1/" + input_1 + "/tokens/redeem"
var data = {
token: input_2,
};
$.get(url, data, function (result) {
if (result == 'ok')
alert('Success!');
else
alert('Failure');
});
}
button.onclick = executeGetReq;
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="elem_input_1" value="input_1"/>
<input id="elem_input_2" value="input_2"/>
<button id="button_1">Go</button>
编辑:
好吧,看来问题出在CORS上。还在挖。
解决方案
尝试将 dataType 设置为jsonp
(但在将其设置为 之前json
)。
$.get(url, data, function (result) {
//...
}, 'jsonp');
如果它不起作用,请在网络上搜索 ajax cors。
或者看看https://www.codegrepper.com/code-examples/javascript/ajax+cors+error
推荐阅读
- django - 在 self.send 中为 Django Channels 设置变量的目的是什么?
- redis - Redis 复制顺序
- python - pycharm 和 tensorflow-gpu;未找到 DLL
- mysql - “错误代码:2014。命令不同步;您现在无法运行此命令”同时创建触发器
- javascript - 如何将请求的 URL 与自定义 URL 字符串进行比较和验证?
- mysql - 向 mysql json_arrayagg 函数添加条件
- ruby-on-rails - Rails 5.2 无法在生产环境中加载
- python - NameError:名称“train_gen”未定义
- reactjs - 使用带有 react-select v2 的搜索图标
- mysql - HasManyThrough 雄辩的关系,Laravel 5.6、5.7