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属性)。

我仍然想知道它为什么会起作用呢?