localhost!=远程服务器

时间:2010-02-03 11:43:32

标签: php apache xhtml jquery

我一直在MAMP(例如LAMP)环境中本地开发/测试网站。我有一个由jQuery处理的表单在本地工作正常;我不希望它被提交,而是将值发送到AJAX函数。

问题是当它在具有几乎相同设置的远程服务器上运行时,它会提交到form参数的“action”目标,例如Apache,PHP等。没有任何代码是不同的。因此,当我提交表单时,jQuery不会捕获表单,它只是继续并提交。

有什么想法吗?提前谢谢。

jQuery的:

function save_words_ajax(username, save_word, save_meaning) {
 $.ajax({
  type: "GET",
  url: "ajax/save_word.ajax.php",
  data: "username=" + username + "&save_word=" + save_word + "&save_meaning=" + save_meaning,
  dataType: "html",
  success: function(html){
   $("#complete h2").html(html);
   $("#complete").show("fast");
  },        
  complete: function(){
  setTimeout('$("#complete").hide("fast")', 1500);
  }
 });
}

HTML:

<form id="new_word_form" action="ajax/save_word.ajax.php" method="get" accept-charset="utf-8">
 <p>                
   <input type="hidden" name="username" value="someusername" />
   <input type="hidden" name="word_reset" value="word" />
   <input type="text" name="save_word" value="word" class="clearme" />

   <input type="hidden" name="meaning_reset" value="meaning" />
   <input type="text" name="save_meaning" value="meaning" class="clearme" />

   <input type="submit" name="some_name" value="+" id="some_name" />
 </p>
</form>

1 个答案:

答案 0 :(得分:4)

确保网站上提供了jQuery和您的捕获代码,例如通过Firebug检查来源确保加载。

还要确保捕获表单提交的事件侦听器已正确注册并终止事件。您发布的代码未显示处理onSubmit事件的位置和方式。