javascript - 通过按钮调用 Ajax 函数而不是自动加载
问题描述
我在网上得到了这段代码,它似乎做了我想要实现的目标。但是,该函数调用 onload。我希望它仅在我单击按钮时才起作用。像这样简单的东西:
<button type="submit" form="form" value="Submit">Submit</button>
这是JS:
$.ajax("https://api.base62.io/encode", {
type: "POST",
data: JSON.stringify({ data: "Hello world!" }),
contentType: "application/json",
}).done(function (data) {
$("#encoded").html(data.encoded);
}).fail(function (xhr, status, error) {
$("#error").html("Could not reach the API: " + error);
});
HTML:
<p id="encoded">Encoding..</p>
<p id="error"></p>
解决方案
将处理程序添加到您的代码中。在此处了解有关 ajax的更多信息
$('#ajax-btn').click(function() {
$.ajax("https://api.base62.io/encode", {
type: "POST",
data: JSON.stringify({
data: "Hello world!"
}),
contentType: "application/json",
}).done(function(data) {
$("#encoded").html(data.encoded);
}).fail(function(xhr, status, error) {
$("#error").html("Could not reach the API: " + error);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="encoded">Encoding..</p>
<p id="error"></p>
<button id="ajax-btn"> CLick Me </button>
推荐阅读
- docker - 使用 Docker Buildkit 构建映像时 --cache-from 参数的顺序是否重要?
- google-cloud-platform - 将 gcloud 与 tmux 一起使用?
- php - 参数太少而无法发挥作用
- xml - XSLT获取多个属性中单个属性的值到相同的字段值
- graphql - 与 micronaut-function-aws-api-proxy 一起使用时,来自 micronaut-graphql 的无效转义 json 响应
- python - 如何通过一些三元组数据创建 RDF 文件?
- c++ - C ++:传递数组for循环时没有打印值?
- javascript - 如何解决碰撞响应问题?
- laravel - 如何在子文件夹域中配置 Laravel 6?
- ios - 在我的 Xcode 框架中调试我的代码的问题