我现在已经挖了4个小时了,我决定问,因为我无法理解这个问题。
我在一页中有以下内容:
support.php:
<div id="userID"><?= $dataOwner =></div>
<a class="nav-link" href="JavaScript:void(0);" id="showOpen">Open</a>
<script src="js/tickets.js></script>
在上面的页面(support.php)中,$ dataOwner正确返回一个值。 点击后,链接必须调用&#34; js / tickets.js&#34;我有以下内容的脚本:
tickets.js:
$("#showOpen").click(function(){
$.ajax({
type: "POST",
url: 'https://[redacted]/load_tickets.php?user='+$('#userID').val(),
success:function(data) {
document.getElementById('openTickets').innerHTML = data;
}
});
});
但#userID的值始终未定义。 为什么这样,我做错了什么?
答案 0 :(得分:0)
首先,不要在php中使用速记 - 在任何时候移动服务器时可能会导致错误。
其次..没有内联JS !!!
最后,你正在使用url params作为post方法。
我是怎么做的(以及我的推荐方式):
[支持]
<div id="customer" data-id="<?php echo $dataOwner; ?>"><?php echo $dataOwner; ?></div>
<a href="#" class="nav-link" id="showOpen">Open</a>
<script>
$(document).ready(function()
{
$('#showOpen').on('click', function()
{
$.ajax({
data: {user: $('#customer').data('id')},
dataType: 'json',
type: 'post',
url: '/your/path/to/load_tickets.php',
success: function(data)
{
$('#openTickets').html(data);
}
});
});
});
然后不需要ticket.js(在这种情况下)
这会将数据作为$ _POST(数组)发布到文件中,您可以根据需要使用$ _POST:)