Javascript Ajax-jQuery和Ajax错误/不工作

Javascript Ajax-jQuery和Ajax错误/不工作,javascript,php,jquery,css,ajax,Javascript,Php,Jquery,Css,Ajax,我正在构建一个网页,其中包含一个div,其中包含一些通过PHP从MySql数据库检索到的数据。这个div显示了一些产品,在它的左边有一个简单的导航栏,有不同的类别。我试图做的是,当用户单击此导航栏的一个类别时,div的内容将改变,显示该类别的产品,所有这些产品都存储在数据库中。所以我尝试使用Ajax(顺便说一句,这是我第一次使用),但我似乎无法让它工作。我的项目结构如下: 父目录 php>index.php css>index.css js>index.js 图片在这里 ajax>produc

我正在构建一个网页,其中包含一个
div
,其中包含一些通过PHP从MySql数据库检索到的数据。这个div显示了一些产品,在它的左边有一个简单的导航栏,有不同的类别。我试图做的是,当用户单击此导航栏的一个类别时,
div
的内容将改变,显示该类别的产品,所有这些产品都存储在数据库中。所以我尝试使用Ajax(顺便说一句,这是我第一次使用),但我似乎无法让它工作。我的项目结构如下:

父目录

  • php>index.php
  • css>index.css
  • js>index.js
  • 图片在这里
  • ajax>products-ajax.js/products-ajax.php
index.php文件链接到index.js和products-ajax.js 然而,我已经尝试在index.js和index.php中包含Ajax代码行,但我无法让它从products-Ajax.php接收数据 感谢您的帮助

下面是我的测试代码:

/*这是products-ajax.js*/
$(文档).ready(函数(){
$('.products list li')。单击(函数(){
$.post(“products ajax.php”,
{p:“产品名称”},
成功:函数(数据){alert(数据)}
);
});
});
使用
$.ajax()
而不是
$.post()
,您可以添加一个错误处理程序,它将为您提供宝贵的信息(也许您可以使用
$.post()
,但我不熟悉此函数,它可能只是
$.ajax()
的快捷方式)。 可能是这样的:

var request = $.ajax({
    url: "products-ajax.php",
    method: "POST",
    data: { p: "Product name" }
});
request.done(function( data ) {
    alert( data );
});
request.fail(function( jqXHR, textStatus ) {
    alert( "Request failed: " + textStatus );
});

编辑:并首选
console.log()
而不是
alert()
进行调试。特别是在异步交互中,
alert()
有时会导致意外…

错误是什么?什么应该发生,什么没有发生?@RayonDabre这只是一个非常简单的测试,看看Ajax是否可以在我的页面中工作。问题是products-ajax.php应该发送$p作为products-ajax.js中的
数据
参数,然后将其显示为警报。它似乎既没有向php文件发送请求,也没有从php文件返回数据it@bhelmet感谢您提醒我浏览器有调试器!调试器这样说:
SyntaxError:missing)在参数列表之后
,它将在javascript文件中的
“products ajax.php”
之后,尝试这样做:
$.post(“products ajax.php”{p:“Product name”},函数(数据){alert(data);})有关详细文档,请参阅!我想你解决了我的问题!但没有使用
$.ajax
。我的调试器说缺少圆括号$.post(“products ajax.php”),这里缺少圆括号*/{p:“Product name”},success:function(data{alert(data)});所以我只做了如下请求变量
var request=$.post(“products ajax.php”)
,然后添加了.done()和.fail()函数和它的工作。谢谢兄弟!这里你有一个语法问题在js中,你可以在浏览器中调试。但在某些情况下,你的js是正确的,你仍然有意外的结果,所以最好处理失败也(可能是404找不到,如果在url中键入,超时,无论如何…)