Javascript ajax方法将不起作用

Javascript ajax方法将不起作用,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我试图让这个ajax方法工作,但由于某种原因,我的成功函数将无法执行,我无法从服务器检索信息。如果有人能告诉我我做错了什么,我会平息的。我的代码如下 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script src="jquery3_2_1.js" type="text/javascript"></script>

我试图让这个ajax方法工作,但由于某种原因,我的成功函数将无法执行,我无法从服务器检索信息。如果有人能告诉我我做错了什么,我会平息的。我的代码如下

 <!DOCTYPE html>
    <html>
    <head>
      <meta charset="UTF-8">
      <script src="jquery3_2_1.js" type="text/javascript"></script>
        <script src="Test.js" type="text/javascript"></script>
    </head>
    <body>
    <form class="ajax">
    <input type="hidden" name="Item" value="Chicken">
    <input type="hidden" name="Price" value="2.99">
    <input type="hidden" name="Qty" value="5">
    <button type="submit">ADD TO CART</button>
    </form>
    <div id="response1"></div>
    </body>
    </html>
当我运行代码时,总是执行error函数,并且我从未到达代码的success函数块。我尝试将数据类型更改为html,但这不起作用。我用on函数替换了submit函数,并使用了submit参数,但仍然无法在success函数中执行任何代码。但是,当我删除侦听submit事件的代码时,我就可以使用success函数了。但是,我不希望我的程序出现这种行为。我希望能够通过submit事件控制对服务器的请求。当我在浏览器的开发者控制台中检查网络标签时,我不会从错误函数中返回任何错误,也看不到任何东西。我甚至尝试查看apache的访问和错误日志,但是,我没有看到任何错误或代码通信的任何迹象。有什么建议吗


p、 谢谢你的建议。只是想澄清一下,以下是我尝试的第一件事。我检查了服务器和我的浏览器之间传输的流量,没有看到从我的服务器返回的请求信息。我怀疑ajax方法一开始并没有发送请求,但是请求正在发出。我将我的统一请求标识符从一个代码复制并粘贴到下一个代码,因此我知道它是正确的。我去掉了action属性,因为我的应用程序使用html中的代码提供的统一请求定位器而不是ajax方法中的属性提供的url来调用服务器。我甚至检查了apache的访问和错误日志,看看是否可以看到可能出现的http错误,但没有迹象表明我的浏览器和服务器之间存在任何通信量。我曾尝试使用“event.preventDefault();”,但也不起作用。我在代码块中使用了具有提交事件侦听器的函数;我把它放在代码块的末尾,但它仍然不起作用。我很困惑,不知道我做错了什么

使用浏览器开发者模式,然后查找网络选项卡,在那里你可以看到你的方法正在进行的调用,以及响应。在那里,您将找到导致错误的原因。您需要解决这些问题以克服您的问题。

您的表单元素中缺少action属性。单击submit时将调用file in action attr

//在此处设置操作属性
添加到购物车

使用
错误:函数(结果、状态、错误)
以便显示正确的错误并查看问题所在。您确定您的路径正确吗?您是否尝试过使用完整的url来确保?您可以在浏览器开发控制台中检查每个请求及其状态。这个请求说明了什么?使用(Chrome或Firefox)上的开发工具来验证ajax请求,看看脚本是否被调用。前面的第一个问题是:磁盘上的文件名为
UpdateCart.php
还是
UpdateCart.php
jquery中有表单提交功能,没有默认机制。所以表单显然会像正常表单提交一样进行,我知道你们缺少代表,但这实际上只是一个评论。这种类型的回答会吸引反对票或被标记我没有DV,如果发生这种情况,你将失去代表分数,需要更长的时间才能获得50个代表,你需要对任何问题进行评论。在那之前,坚持问得好的问题,因此不需要澄清就可以轻松回答。谢谢你的回复。正如我所说,我去掉了action属性,因为表单将信息发送到表单的action属性中的url,而忽略ajax属性中的url。事实上,我认为action属性使我的应用程序完全绕过ajax方法,直接进入服务器,就像正常提交的表单一样。
<?php
//UpdateCart.php

  echo "This is a test.";

?>
$(document).ready(function(){
    $('form.ajax').submit(function(){
      alert('Trigger');

        $.ajax({
            type: "post",
            url: "UpdateCart.php",
            dataType: "text",
            success: function(response){
              $('#response1').html('reponse variable equals: '+response);
            },
            error:function(){
              $('#response1').html('in error function');
          }
       });//end ajax function
    });//end submit function
});//end ready function