我正在尝试从 WordPress 中的 ajax 请求调用 php 文件。我遇到的问题是ajax请求需要php文件的路径。我不确定将该 php 文件放置在我的 WordPress 安装中的何处。此外,这个文件不能内联包含,因为只有当用户决定调用它时我才需要调用这个 php 文件。我现在不使用jquery,但愿意使用它,因为我很确定这只是客户端,因此服务器不必参与。
作为我想做的事情的一个例子,让我们用一个表单来尝试一下。此示例取自http://thisinterestsme.com/ajax-form-submission-php/
。
我会将其包含在网页中。
<html>
<head>
<meta charset="UTF-8">
<title>Example Ajax PHP Form</title>
</head>
<body>
<form id="my_form_id">
Your Email Address: <input type="text" id="email" /><br>
<input type="submit" />
</form>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
$(document).ready(function(){
$('#my_form_id').on('submit', function(e){
//Stop the form from submitting itself to the server.
e.preventDefault();
var email = $('#email').val();
$.ajax({
type: "POST",
url: 'submission.php',
data: {email: email},
success: function(data){
alert(data);
}
});
});
});
</script>
</body>
</html>
然后在服务器的其他地方我会有这个文件。问题是我不知道该文件放在哪里,也不知道上面的 ajax 请求的路径是什么。
<?php
$emailAddress = false;
if(isset($_POST['email'])){
$emailAddress = $_POST['email'];
}
echo 'Received email was: ' . $emailAddress;
?>
最佳答案
假设您有这个 php:
<?php
$emailAddress = false;
if(isset($_POST['email'])){
$emailAddress = $_POST['email'];
}
echo 'Received email was: ' . $emailAddress;
?>
您应该将此文件命名为page-submission.php并将其保存在functions.php所在的位置,然后创建一个空白页面名称“submission”。现在,您可以在 ajax 中将此文件称为/submission。
以下是视觉层次结构的工作原理:
关于javascript - 使用 ajax 请求调用 .php 文件 - wordpress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47915953/