2011-09-23 62 views
0

没有取得我有形态上运行此jQuery代码提交:Ajax调用jQuery中

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script> 

<script type="text/javascript" > 
$(function() 
{ 
    $("input[type=submit]").click(function() 
    { 
     var name = $("#problem_name").val(); 
     var problem_blurb = $("#problem_blurb").val(); 

     var dataString = 'problem_name='+ name + '&problem_blurb=' + problem_blurb; 

     if(name=='' || problem_blurb == '') 
     { 
      $('.success').fadeOut(200).hide(); 
      $('.error').fadeOut(200).show(); 
     } 
     else 
     { 
      $.ajax({ 
       type: "POST", 
       url: "problems/add_problem.php", 
       data: dataString, 
       success: function() 
       { 
        $('.success').fadeIn(200).show(); 
        $('.error').fadeOut(200).hide(); 
       } 
      }); 
     } 

     return false; 
    }); 
}); 
</script> 

并在指定的目录/问题/我有一个PHP文件add_problem.php并将该文件只是有这个所以我可以在日志中看到它被称为:

<?php 
echo ".......in problem"; 
?> 

但是这永远不会被写入日志。我的ajax调用有问题吗?我知道js的ajax部分正常,因为我在那里发现了一些警告语句。

+0

你调试这与萤火虫? – Niko

+0

其实我使用Chromes JS控制台,但它并没有显示任何问题。 – Genadinik

+0

就我所见,看起来没问题。你有没有尝试过使用Firebug或类似的开发者控制台?这会让你看到更多关于你正在创建的POST的信息,而且你的脚本实际上是否正在触及add_problem.php。此外,您可以在成功后创建一个错误函数,并在那里查找日志语句。 – Chazbot

回答

2

如果包含该JavaScript文件没有位于包含问题相同的目录/你应该改变:

url: "problems/add_problem.php", 

url: "/problems/add_problem.php", 
+0

实际上,虽然我按照前面推荐的方式使用了它,但它并不奏效。奇怪的。 :) 不管怎么说,还是要谢谢你!! – Genadinik

+0

昨晚我自己正在与一个相关的问题搏斗(这是我的问题列表的顶部)。 –