在ajax调用请求之前调用javascript

问题描述 投票:0回答:2

我的编码有问题,我把它写得非常非常短,这样我就可以快速得到答案,而不是浪费你的时间,我有一个输入文本,一个输入数字和一个按钮,当我单击一个按钮时,一个函数会调用named(getvalue),但问题是在javascript代码之后运行的ajax调用,正在处理的大项目,其中一个ajax调用是,如果另一个php文件返回无效,那么我不'不想在带有 id (num) 的输入文本中应用 .val() ,因为如果它无效,并且计算错误,为什么 JavaScript 代码应该工作?!,如果 ajax 返回,我不想运行无效,这就是我的项目中这个函数内有一些ajax调用请求,并且需要在任何其他javascript代码之前运行和调用,我该怎么做?!

这是索引文件php代码:

    <!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <input type="text" name="" id="inp">
    <button onclick="getValue()">Click Me</button>

    <br>
    <input type="text" name="" id="num">

    <script src="jquery-3.6.1.min.js"></script>
    <script>
        function getValue() {

            var inpText = $("#inp").val();
            var inpNum = $("#num");
            alert("hey ")
            alert("hello world ")
            //   javascript coding..... aproximately 100 lines

            inpNum.val("random num...")


            $.ajax({
                type: 'POST',
                url: 'validate.php',
                data: {
                    myInput: inpText,
                },
                complete: function(r) {
                    if (r.responseText == "validNum") {
                        alert("valid")
                    } else {
                        alert("invalid number, please enter another number  ")
                    }

                }
            });       
        }
    </script>
</body>

</html>
<?php

再次,我把它做得非常简单,只是为了让你明白,我不想删除 validate.php 文件并将整个代码与所有其他 ajax 调用请求一起放在 index.php 中。

javascript jquery ajax
2个回答
1
投票

可以使用then()在ajax后执行js代码

$.ajax({
  type: 'POST',
  url: 'validate.php',
  data: {
  myInput: inpText,
  },
  complete: function(r) {
    if (r.responseText == "validNum") {
    alert("valid")
  } else {
    alert("invalid number, please enter another number  ")
  }
 }
}).then(function getValue() {
  var inpText = $("#inp").val();
  var inpNum = $("#num");
  alert("hey ")
  alert("hello world ")
  //   javascript coding..... aproximately 100 lines
  inpNum.val("random num...")
});

-1
投票
async function myFunction() {
  // This function will be called before the AJAX request is sent.
}

async function fetchData() {
  const response = await fetch('/api/endpoint');
  const data = await response.json();
  return data;
}

const data = await fetchData();
© www.soinside.com 2019 - 2024. All rights reserved.