使用PHP回显Jquery以执行.post();打开。单击();结果是我无法解释的查询
我搜索过,编辑过,重新编辑过,我被JSLint屈尊并重新测试过。我已经达到了我所知道的实际极限,我没有使用Firebug或其他工具来更具体地隔离问题的经验。给一个小男孩指出正确的方向 以下是我认为有问题的代码:使用PHP回显Jquery以执行.post();打开。单击();结果是我无法解释的查询,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我搜索过,编辑过,重新编辑过,我被JSLint屈尊并重新测试过。我已经达到了我所知道的实际极限,我没有使用Firebug或其他工具来更具体地隔离问题的经验。给一个小男孩指出正确的方向 以下是我认为有问题的代码: echo '<script type="text/javascript">' . "\n"; echo '$(document).ready(function() {' . "\n"; echo '$("#' . $row['firstname'] . $row['la
echo '<script type="text/javascript">' . "\n";
echo '$(document).ready(function() {' . "\n";
echo '$("#' . $row['firstname'] . $row['lastname'] . '").click(function() {' . "\n";
echo ' $.post("http://example.com/publish.php", { fname: "' . $row['firstname'] . '", lname: "' . $row['lastname'] . '", input: "' . $published['input'] . '", table: "' . $q . '" });' . "\n";
echo 'e.preventDefault();' . "\n";
echo 'return false;' . "\n";
echo ' });' . "\n";
echo '});' . "\n";
echo '</script>';
如果我写:
$.post("http://example.com/publish.php", { fname: "Firstname", lname: "Lastname", input: "1", table: "Tablename" });
直接在控制台中,我将在Tablename中将user Firstname Lastname的发布状态从0更改为1。如果单击该按钮,地址栏中将显示一个无意义的字符串:
http://example.com/outreach.php?names=Tablename&names=None
这到底是怎么回事?
提前感谢您阅读到这里。期待着解决这个问题!哈哈
补充说明:
PHP 5.3.x
Jquery is called in the head.
All table names contain a number of dashes - could this be causing the string to turn into rubbish? e.g outreach.php?names=Ta-bl-ena-me&names=None
下面是outlooking.php如何请求表名列表。在更改时,这将作为Ajax发送到getnames.php,然后getnames.php将html/js以前面提到的表格的形式发送回outlook.php(没有问题)。这就是为什么我现在想我可能需要回到绘图板上
<?php while($showtablerow = mysql_fetch_array($showtablequery_result)) { echo "<option>" . $showtablerow[0]."<br />" . "</option>"; } ?>
好的,到目前为止,我刚刚清理了一下您的代码,以提高可读性。我认为发布参数时出现了一些问题。它们也会出现在url中吗
<script type="text/javascript">
$(document).ready(function() {
$("#<?php echo $r['firstname'] . $r['lastname']; ?>").click(function(e) {
$.post("http://thinknextmedia.com/publish.php",
{ fname: "<?php echo $r['firstname']; ?>",
lname: "<?php echo $r['lastname']; ?>",
input: "<?php echo $published['input'] ?>",
table: "<?php echo $q ?>" });
return false;
});
});
</script>
$(文档).ready(函数(){
$(“#”)点击(函数(e){
$.post(”http://thinknextmedia.com/publish.php",
{fname:“”,
名称:“,
输入:“,
表1);
返回false;
});
});
首先,我是否可以建议不要通过php回显js/html?只需中断php,编写js并继续。仅在php标记中添加js参数。这有点像噩梦,以后需要调试。这是否是导致您当前问题的原因值得怀疑,但它看起来不像您的单击处理程序中的e
实际上绑定到了任何东西。缺少函数参数?同意,e应为@..'$(文档).ready(函数(e)…但我想这并不是原因。好吧,如果不通过php重复js和html,我可能不得不回到绘图板上。等一下,用outlooking.php更新我的帖子。好吧,它会起作用。这只是一种不好的做法。像这样混合肯定会把某个报价搞砸,让你找一天来找到它:)我的错误。那不应该在那里。我累了,把它放错地方了。我已经移除了,但你们是对的;它并没有解决我眼前的问题。假设extraction.php是发送Ajax请求的文件,那么可能有问题。我也可以看一下代码吗?
<?php while($showtablerow = mysql_fetch_array($showtablequery_result)) { echo "<option>" . $showtablerow[0]."<br />" . "</option>"; } ?>
<script type="text/javascript">
$(document).ready(function() {
$("#<?php echo $r['firstname'] . $r['lastname']; ?>").click(function(e) {
$.post("http://thinknextmedia.com/publish.php",
{ fname: "<?php echo $r['firstname']; ?>",
lname: "<?php echo $r['lastname']; ?>",
input: "<?php echo $published['input'] ?>",
table: "<?php echo $q ?>" });
return false;
});
});
</script>