数据中的Ajax传递参数发送到php

Posted

技术标签:

【中文标题】数据中的Ajax传递参数发送到php【英文标题】:Ajax pass parameter in data send to php 【发布时间】:2021-02-16 03:33:27 【问题描述】:

假设我有一个带有 onclick 功能的元素,它在单击时会触发 prompt()。 一旦用户填写了提示,它还会触发一个 ajax 请求,该请求会将带有 post 类型的提示值发送到 php 页面以获得响应。

所以我有这个代码:

<i class="fas fa-wrench text-warning editmode" id="Pseudo" onclick="goEdit(this.id)" title="Edit my pseudo"></i>

function goEdit(id) 
        console.log(id); // The console log here print me "Pseudo" and that's what i want
        $(document).ready(function() 
            let userchange = prompt();
            $.ajax(
                type: 'POST',
                url: 'traitements/traitement-profil.php',
                data: 
                    id: userchange

// The problem is here ! I want to send a $_POST['Pseudo'] that contains the answer of the prompt. 
// But that doesn't work.
// Instead if i a do a print($_POST) in my php page i get this as a response in my alert below:
// array(1)  ["id"]=> array(1)  ["id"]=> string(24) "Answer of the prompt here"

                ,
                dataType: 'text',
                success: function(data) 
                    alert(data);
                
            );
        );
    

我需要我的 $_POST 等于所单击按钮的 id 的值的原因是因为我需要在同一页面上有多个像这样的按钮,每个按钮都有自己的用途,但总是做同样的事情。只有 $_post 参数会改变每个参数,这个参数必须等于点击按钮的 id

【问题讨论】:

【参考方案1】:

更新:如果您想要的是数据对象中的动态键,您可以通过以下方式实现:

var data = ;
data[id] = userchange;

$.ajax(
   type: 'POST',
   url: 'traitements/traitement-profil.php',
   data: data,
   dataType: 'text',
   success: function(data) 
      alert(data);
   
);

您似乎误解了如何构造JSON object。

您传递的数据应如下所示:

data: 
   id: id,
   answer: userchange
,

然后在 PHP 中您将能够通过以下方式访问它们:

 $_POST['id'] // contains "Pseudo"
 $_POST['answer'] // contains "Answer of the prompt here"

【讨论】:

这不是我想要的。我希望 $_POST 的参数等于我的按钮的 id 并包含提示的答案 啊,我明白了,对不起,我误会了。检查更新的答案:) 一种作品,但 php 中的所有内容都包含在这样的双数组中:array(1) ["data"]=>array(1) ["Pseudo"]=> string( 4)“提示的答案”有没有办法在没有“数据”数组的情况下将所有内容都放在一个数组中?如果没有,我如何访问 ["pseudo"] 并在数组 ["data"] 中分别回答? 没关系!语法有问题。现在完美运行:)

以上是关于数据中的Ajax传递参数发送到php的主要内容,如果未能解决你的问题,请参考以下文章

vue ajax获取数据的时候,如何保证传递参数的

使用ajax将参数发送到drupal视图

如何将数组作为参数发送到iOS中的json服务

将回调作为参数发送到 QJSValue::callAsConstructor()

在 $.ajax 成功函数中传递两个参数

04 ajax执行php并传递参数