【问题标题】:$_POST won't fetch attribute set by jquery$_POST 不会获取 jquery 设置的属性
【发布时间】:2016-08-17 08:34:47
【问题描述】:

我有一个 HTML 链接元素:

    <a href='#' class='editUsrProfile' data-type='text' data-pk='' data-url='file.php'></a>

我用 Jquery 设置了data-pk 属性:

    $('.editUsrProfile').attr('data-pk', usr);

如果data-pk已设置,我会检查console.log,没关系。

但是在我的 php 脚本中,我检查 $_POST['pk'] 我什么也没得到。
名称等其他静态帖子也可以。

那么,为什么$_POST无法读取Jquery设置的属性,我该如何解决呢?

更新
我使用“Bootstrap Editable”将数据发送到 php 文件。
问题是我在设置data-pk 之前启用了editable
我只是将事件更改为首先设置data-pkwith Jquery。
然后我运行editableplugin:

$('.editUsrProfile').attr('data-pk', usr);
$('.editUsrProfile').editable({});

【问题讨论】:

  • 链接不会向您发布任何内容!让自己了解链接、帖子以及如何在 php 中处理它。你在这里做错了。
  • 好的,我会编辑我的问题。我也使用 Bootstrap 可编辑。
  • 我想你可能想阅读表单..链接不发送帖子请求
  • 因为您从未在原始问题中说明您对可编辑的使用
  • 仅供参考:不知道 OP 是如何使用代码的,但他正在使用 vitalets.github.io/x-editable/docs.html 其中pk 是主键,并且在发布到服务器时它是空白的。

标签: javascript php jquery x-editable


【解决方案1】:

由于您的 data-pk 是在页面加载时设置的,因此您也在页面加载时初始化可编辑。但是您正在动态更改data-pk,因此您需要更新您的可编辑参数,

$('.editUsrProfile').editable({
    params: function(params) {
        params.pk = usr;// or you can try $(this).attr('data-pk') or $('.editUsrProfile').attr('data-pk') whichever works for you
        return params;
    }
)

【讨论】:

  • 谢谢你,Rohan,我会试试这个!
  • 完美答案。在我设置了data-pk 之后,我将可编辑的运行更改为启动。现在可以编辑读取之前由 Jquery 设置的 attr。
  • 很高兴它成功了。但是您应该在问题中提及您如何动态更改data-pk 以及如何初始化您的editable,以便为每个SO 用户轻松获取并指出您的实际问题。
【解决方案2】:
var pk = $('.editUsrProfile').attr('data-pk');

// URL : link file handle:
// example: localhost/getpost.php

 $.post(URL, {pd: pk }, function(result) {
        //Response from server
 });

【讨论】:

  • 欢迎来到 Stackoverflow,请您发表一些解释吗?
【解决方案3】:

为了在 php 中有 $_POST 值,你需要使用 AJAX(你可以使用 $.post jquery 函数):像这样:

$('.editUsrProfile').click(function() {
   var self = $(this);
   $.post(self.data('url'), self.data(), function(response) {
      // do something with response from server.
   });
   return false;
});

并不是说这也会将 url 作为 $_POST 值发送。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多