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
/*这是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中键入,超时,无论如何…)