如何使用javascript将动态数据从html data-attribute传递给查询?

我有这个按钮来保存数据库中的数据

<button title="View Conversation" type='button' class='btn btn-default btn-sm' data-toggle='modal' data-target='#viewConversationModal' data-empproj_id="" data-empprojconvoid="" **data-empprojconvotoempid**="" **data-empprojconvofromemip**="" data-empprojconvoconversation='""' >  

我需要使用查询中的数据

   

然后制作一个while语句来显示模态中的对话

  

Messenger A :

Messenger B :

脚本到目前为止

 $('#viewConversationModal').on('show.bs.modal', function(con){ var button = $(con.relatedTarget); //get data var empprojconvotoempid = button.data('empprojconvotoempid'); var empprojconvofromemip = button.data('empprojconvofromemip'); }); 

为了清楚起见:

  • PHP在后端运行
  • JavaScript,HTML在前端运行(浏览器)

现在,要从前端将数据发送到服务器,您可以执行以下操作:

 $("button").click(_ => { const me = $(this) $.ajax({ url: window.location, method: "post", contentType: "application/json", data: { empprojToId: me.attr("data-empprojconvotoempid"), empfromEmIp: me.attr("data-empprojconvofromemip"), }, }) }) 

编辑:

在您的情况下,您似乎希望按钮执行正常的post并使用模态和新对话再次呈现整个页面?

如果是这样,那么您可以将所有数据放在html表单中:

 
...

你应该将数据从html发送到php。 由于html在客户端(在浏览器中)运行,而php文件在服务器端执行。

PHP手册: http : //php.net/manual/en/reserved.variables.get.php http://php.net/manual/en/reserved.variables.post.php

最简单的方法,使用jQuery:

   

然后,您可以使用GET数组捕获php文件中的数据。

注意使用GET和POST数组的SqlInjection。

使用jquery选择器从属性中获取数据,然后通过ajax发送它。 var dataarray += $("button").attr ("data-...")获取数组或变量中的所有数据,然后$.ajax ({ data: {"attrdata" : dataarray} , type: "POST",target="callback.php", sucess: function (data){ $("#modal").html(data);} });