【问题标题】:Ajax javascript php阿贾克斯 javascript php
【发布时间】:2018-07-04 14:36:12
【问题描述】:

我要问一个经常被提及的问题,但我不明白我的代码中缺少什么以使其正常工作。 我有两个 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);
            
             
        }

在我的游戏中。我有一个 onclick 调用我的函数“btn_urgent”。

&lt;button type="submit"  class="btn btn-primary col-2" onclick="btn_urgent()" &gt;urgent&lt;/button&gt;

一旦我的 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 插入。但它不起作用。另一方面,我的 Ajax 请求很好地调用了我的函数 insert_to_db,但它没有传递 $input。 我想我忘记了成功故事中的某些内容,但我不知道是什么。如果有人有一些提示解决方案可以提供给我,我是买家。 我不知道这有多重要,但我正在进入 wordpress。 如有必要,我仍然可以使用,谢谢大家,祝您有美好的一天。

【问题讨论】:

  • 第 13 行是哪一行?

标签: javascript php ajax wordpress var


【解决方案1】:

在您的 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)

【讨论】:

  • 在 JavaScript 上,您需要始终在浏览器上查看 Web 控制台 (F12) 以查看错误。
猜你喜欢
  • 2010-10-11
  • 1970-01-01
  • 1970-01-01
  • 2018-05-15
  • 1970-01-01
  • 2023-03-21
  • 2015-01-13
  • 2014-07-01
  • 1970-01-01
相关资源
最近更新 更多