如何使用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);} });