jQuery没有调用php
出于某种原因,jQuery没有加载我的php文件。 单击该按钮,页面只刷新。 我已经validation了jQuery正在运行,点击function也正常运行。 一旦它到达$.post
它似乎没有调用该文件并经历暂停并回显结果。 该目录对于php文件是正确的。 我很茫然。 有任何想法吗?
// HTML Code //jQuery code: $('#doit').click(function(){ $('#fullscreen').show(); $.post('./delete-misc/test-ajax-code.php', function(data){ $('#fullscreen').hide(); alert(data); }) }); // Php code (test-ajax-code.php)
尝试从URL的开头删除点。
$.post('/delete-misc/test-ajax-code.php', ...
由于缺乏经验,我无法详细解释URL路径中的点如何正常工作,但我会将其设为社区维基以便让其他人解释。
编辑:我问了一个关于这个主题的问题,答案很棒: url中的点是什么意思?
更改按钮类型。
所以,而不是这个:
你应该这样:
为什么? 导致提交按钮将触发表单提交,该表单将转到另一个页面。 但是一个按钮什么都不做,只有你编程的东西(用js)才能做。
另一种解决方案是在javascript中防止按钮单击的默认行为,因此您应该:
$('#doit').click(function(){ $('#fullscreen').show(); $.post('./delete-misc/test-ajax-code.php', function(data){ $('#fullscreen').hide(); alert(data); }); return false; //This does the trick!!! });
为什么? 在jquery事件’cancels’默认行为中返回false
,因此表单不会被提交
希望这可以帮助。 干杯
尝试更改为键入按钮:
您需要在提交处理程序中返回false
。 如果不这样,表单将在处理程序返回后正常提交。
你忘记了;
之后结束$.post
;)。
尝试这个,它个人工作:
$('#doit').click(function(){ $.post('./delete-misc/test-ajax-code.php', function(data){ alert(data); }); });
删除提交按钮的name属性,然后尝试。 有一段时间我有类似的问题,删除名称属性是诀窍。 (当我通过jQuery提交发布的数据时,我不需要name属性)。
我仍然想知道它为什么会起作用呢?