我的编码有问题,我把它写得非常非常短,这样我就可以快速得到答案,而不是浪费你的时间,我有一个输入文本,一个输入数字和一个按钮,当我单击一个按钮时,一个函数会调用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 中。
可以使用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...")
});
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();