Ajax javascript php
Ajax javascript php
我要问一个经常被提及的问题,但我无法理解我的代码中缺少什么才能使其正常工作。
我有两个 PHP 文件,一个用作查看器,另一个用于处理、执行流程,还有一个 javascript 文件,我将 ajax 请求放在那里。我的目标很简单,就是在我的 Js 和我的 PHP.
之间传递一个变量
我的global.js文件
window.onload = function(){
for($i = 0; $i <= 0; $i++){
console.log("after for");
console.log($i);
$input = document.getElementsByClassName('from_1')[$i].textContent;
$sub = document.getElementsByClassName('subject_1')[$i].textContent;
$recei = document.getElementsByClassName('received_1')[$i].textContent;
$preview = document.getElementsByClassName('bodypreview_1')[$i].textContent;
$body_1 = document.getElementsByClassName('body_1')[$i].textContent;
console.log("*********************");
console.log($input);
console.log($sub);
console.log($recei);
console.log($preview);
console.log($body_1);
console.log("*********************");
}};
我使用 getElementsById 恢复数据并将其存储在变量中。然后在同一个文件中我进行 Ajax 调用
function btn_urgent(html){
console.log("*************************");
console.log("btn_urgent");
console.log($input);
console.log("*************************");
$.ajax({url: '../../wp-content/plugins/game_plugin/process_general.php',
type: 'POST',
data: {info: 'insert_to_db', $input: $input},
success: function(output) {
console.log("*************************");
console.log("ssrtsgsgsg");
alert(output);
console.log("*************************");
return($input);
}
在我的游戏中。 php 文件 我有一个 onclick 调用我的函数 "btn_urgent".
<button type="submit" class="btn btn-primary col-2" onclick="btn_urgent()" >urgent</button>
调用我的 Ajax 函数后,它会调用 process_general 文件中的另一个函数 insert_to_db。
function insert_to_db($input){
global $wpdb;
echo json_encode;
$wpdb->insert(
'test_insert', //table name
array(
'id' => 550,
'from_mail' => $input,
), //columns
array(
'%d',
'%s',
)
);
}
如您所见,我正在尝试在单击 onclick 时插入 $input。但它不起作用。另一方面,我的函数 insert_to_db 被我的 Ajax 请求很好地调用了,但它没有传递 $input。
我想我忘记了成功故事中的某些内容,但我不知道是什么。如果有人有一些提示解决方案可以提供给我,我就是买家。
我不知道这有多重要,但我正在进入 wordpress。
如有需要,我会随时待命,谢谢大家,祝你有美好的一天。
在您的 ajax 数据中,它的字段名称无效:
data: {info: 'insert_to_db', $input: $input},
改为:
data: {info: 'insert_to_db', input: $input},
在您的 php 上,您需要像这样获取数据:
$info = $_POST['info'];
$input= $_POST['input'];
// Then call the function
insert_to_db($input)
我要问一个经常被提及的问题,但我无法理解我的代码中缺少什么才能使其正常工作。 我有两个 PHP 文件,一个用作查看器,另一个用于处理、执行流程,还有一个 javascript 文件,我将 ajax 请求放在那里。我的目标很简单,就是在我的 Js 和我的 PHP.
之间传递一个变量我的global.js文件
window.onload = function(){
for($i = 0; $i <= 0; $i++){
console.log("after for");
console.log($i);
$input = document.getElementsByClassName('from_1')[$i].textContent;
$sub = document.getElementsByClassName('subject_1')[$i].textContent;
$recei = document.getElementsByClassName('received_1')[$i].textContent;
$preview = document.getElementsByClassName('bodypreview_1')[$i].textContent;
$body_1 = document.getElementsByClassName('body_1')[$i].textContent;
console.log("*********************");
console.log($input);
console.log($sub);
console.log($recei);
console.log($preview);
console.log($body_1);
console.log("*********************");
}};
我使用 getElementsById 恢复数据并将其存储在变量中。然后在同一个文件中我进行 Ajax 调用
function btn_urgent(html){
console.log("*************************");
console.log("btn_urgent");
console.log($input);
console.log("*************************");
$.ajax({url: '../../wp-content/plugins/game_plugin/process_general.php',
type: 'POST',
data: {info: 'insert_to_db', $input: $input},
success: function(output) {
console.log("*************************");
console.log("ssrtsgsgsg");
alert(output);
console.log("*************************");
return($input);
}
在我的游戏中。 php 文件 我有一个 onclick 调用我的函数 "btn_urgent".
<button type="submit" class="btn btn-primary col-2" onclick="btn_urgent()" >urgent</button>
调用我的 Ajax 函数后,它会调用 process_general 文件中的另一个函数 insert_to_db。
function insert_to_db($input){
global $wpdb;
echo json_encode;
$wpdb->insert(
'test_insert', //table name
array(
'id' => 550,
'from_mail' => $input,
), //columns
array(
'%d',
'%s',
)
);
}
如您所见,我正在尝试在单击 onclick 时插入 $input。但它不起作用。另一方面,我的函数 insert_to_db 被我的 Ajax 请求很好地调用了,但它没有传递 $input。 我想我忘记了成功故事中的某些内容,但我不知道是什么。如果有人有一些提示解决方案可以提供给我,我就是买家。 我不知道这有多重要,但我正在进入 wordpress。 如有需要,我会随时待命,谢谢大家,祝你有美好的一天。
在您的 ajax 数据中,它的字段名称无效:
data: {info: 'insert_to_db', $input: $input},
改为:
data: {info: 'insert_to_db', input: $input},
在您的 php 上,您需要像这样获取数据:
$info = $_POST['info'];
$input= $_POST['input'];
// Then call the function
insert_to_db($input)