通过按钮而不是自动加载来调用Ajax函数

时间:2018-08-19 05:02:54

标签: javascript jquery 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>

JSFiddle DEMO

1 个答案:

答案 0 :(得分:0)

将处理程序添加到您的代码中。进一步了解ajax here

$('#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>