【问题标题】:Get JQUERY function return in PHP在 PHP 中获取 JQUERY 函数返回
【发布时间】:2017-05-05 11:59:27
【问题描述】:

我想知道我是否可以在 PHP 中获得 JQUERY 函数的返回?

我有这个以下 jquery 函数,返回一个数组,我想在我的 PHP 中获取这个数组,以便发送它来处理数据

function getItemMetaList() {
        var itemMetaArray = [];
        $('.frm_pro_form input, .frm_pro_form select, .frm_pro_form textarea').each(function(cpt){
            if($(this).attr('type') != 'hidden' && ($(this).attr("type") != "submit")) {
                console.log(cpt);
                console.log($(this).attr("name"));
                itemMetaArray.push($(this).attr("name"));
            }
        });
        return itemMetaArray;
    }

提前致谢

【问题讨论】:

  • 可以使用ajax api.jquery.com/jquery.ajax
  • 使用 AJAX 或将值放入隐藏输入并提交表单
  • AJAX 的问题是通常你使用 PHP 函数对吗?我看不到如何使用 AJAX 将 JQUERY 数据发送到我的 PHP 文件。对于我做不到的输入法,我必须在我的php页面中单击一个按钮来获取JQUERY数组
  • 您可以发送您的 javascript* 数组,其中包含在 jquery 中调用的 ajax,就像在没有 php 函数的文档中一样
  • 是的,我终于找到了。我只是有一个问题。我发送了一个数组,但是我没有在 PHP 中得到一个数组,只是数组的内容。有什么解决方案吗?

标签: php jquery arrays return


【解决方案1】:
function getItemMetaList() {
    var itemMetaArray = [];
    $('.frm_pro_form input, .frm_pro_form select, .frm_pro_form textarea').each(function(cpt){
        if($(this).attr('type') != 'hidden' && ($(this).attr("type") != "submit")) {
            itemMetaArray.push($(this).attr("name"));
        }
    });
    $.ajax({
       method: "POST",
       url: "some.php",
       //data: { array: itemMetaArray}
       data: JSON.stringify({ array: itemMetaArray})
    }).done(function( msg ) {
       alert( "Data Saved: " + msg );
    });
}

您可以通过这种方式在 php 文件中发送数据,如下所示:ajax jquery

【讨论】:

  • 这就是我所做的,感谢您的回答。但现在唯一的问题是在 PHP 中获取数组。现在我唯一做的就是在

    中显示数组的内容,用这个“success: function(){ $('.answer').html(itemMetaArray); }” 但我不能t 获取 PHP 变量中的数组数据.. 我的网页没有重新加载

  • 我在我的代码中编辑了数据,这是另一种发送数据的方式。如果它不像你想要的那样工作,请看这里:stackoverflow.com/questions/8890524/…
  • 我已经阅读了这个主题,但没有一个好的解决方案。在我的网络选项卡中,我可以看到带有 itemMetaArray 内容的 POST 请求。但是 var_dump($_POST) 仍然返回一个空数组...
  • 这是一个很奇怪的问题,我从来没有遇到过这种问题,你能把你在网络标签中的内容发布吗? itemMetaArray 的内容
  • 这是图片:imgur.com/a/30Klz 这是我的 .php:timgu getItemMetaList()"; ?>

    跨度>
【解决方案2】:

Ajax 请求返回浏览器中加载的页面中的 JavaScript 数据。浏览器不会自动显示数据。答案由 MacBook 示例中的 .done() 捕获。你可以把 JavaScript 放在 done() 方法中来显示返回的数据。如果您希望页面在浏览器中重新加载,Ajax 不是好方法。在 JavaScript 中,请改用 form.submit。然后你可以让你的 PHP 代码读取提交的数据并生成一个新的 html 页面并在浏览器中显示。

【讨论】:

  • 是的,你是对的,我在 Developper 控制台的“网络”选项卡中看到“响应”子面板显示返回的数组,而我在页面中看到一个空数组
猜你喜欢
  • 2019-04-22
  • 2014-05-28
  • 1970-01-01
  • 1970-01-01
  • 2012-12-09
  • 2021-12-24
  • 1970-01-01
  • 1970-01-01
  • 2012-02-11
相关资源
最近更新 更多