Php Jquery使用post属性传递ajax调用
在这里检查了几个关于堆栈溢出和jquery文档的主题,但仍然卡住了 我基本上希望发布(使用ajax/jquery)来更新div的内容Php Jquery使用post属性传递ajax调用,php,jquery,ajax,Php,Jquery,Ajax,在这里检查了几个关于堆栈溢出和jquery文档的主题,但仍然卡住了 我基本上希望发布(使用ajax/jquery)来更新div的内容 function loadSubCats(value) { $.post("load_sub_cats.php", data: { "catid": value }, type: "POST", contentType: "application/x-www-form-urlencoded",
function loadSubCats(value)
{
$.post("load_sub_cats.php",
data: { "catid": value },
type: "POST",
contentType: "application/x-www-form-urlencoded",
function(data) {
$('#sub_categories').html("Data Loaded: " + data);
});
}
但是我没有得到任何回应。该页面包含sub_categories div,这对于表单事件称为onclick
<select name='cselect3' onChange='loadSubCats(this.value)' class='e1'>
所以基本上,它应该超过字段(cselect3)的值并加载_sub_cats.php应该只回显$_POST[catid];就这样。但我没有得到任何活动,所以它认为这很简单,我搞砸了 您混合了不同的
$.post
和$.ajax
语法。如果要使用对象语法,请调用$.ajax
,因为$.post
将其参数作为一个简单的未命名列表
function loadSubCats(value)
{
$.ajax({
url : "load_sub_cats.php",
data: { "catid": value },
type: "POST",
contentType: "application/x-www-form-urlencoded",
success: function(data) {
$('#sub_categories').html("Data Loaded: " + data);
}
});
}
您还可以直接附加change
事件,而不是内联,并取消loadSubCats()
函数:
$(document).ready(function(){
$('select[name=cselect3]').change(function(){
$.ajax({
url : "load_sub_cats.php",
data: { "catid": $(this).val() },
type: "POST",
contentType: "application/x-www-form-urlencoded",
success: function(data) {
$('#sub_categories').html("Data Loaded: " + data);
}
});
});
});
两件事:
您正在使用非必需的“在文章中键入”
即使在移除它之后,也不起作用,只是试着提醒它-
function loadSubCats(value)
{
$.post("load_sub_cats.php",
data: { "catid": value },
type: "POST",
contentType: "application/x-www-form-urlencoded",
function(data) {
alert(data)
$('#sub_categories').html("Data Loaded: " + data);
});
}
通过警觉你会知道的-
1) 如果出现任何php错误,它将发出警告,
2) 如果php工作正常,它将使用您的值发出警报
根据最新评论更新我的帖子:
请尝试使用以下方法:
$(document).ready(function() {
$('.e1').change(function() {
$.post("load_sub_cats.php",
data: { "catid": value },
type: "POST",
contentType: "application/x-www-form-urlencoded",
function(data) {
alert(data)
$('#sub_categories').html("Data Loaded: " + data);
});
})
});
$有问题。post
语法。以下是它应该是什么样子:
function loadSubCats(value)
{
$.post("load_sub_cats.php",{ "catid": value },
function(data) {
$('#sub_categories').html("Data Loaded: " + data);
});
}
就这么简单
function loadSubCats(value)
{
$.post("load_sub_cats.php",
{ catid: value },
function(data) {
$('#sub_categories').html("Data Loaded: " + data); }
);
}
您发送的是catid而不是“catid”您是否尝试检查请求?Chrome开发工具还是Firebug?您得到了什么?1错误,未捕获引用错误:loadSubCats未定义,这意味着您的函数“loadSubCats”包含
$。post
从未被调用。请查看loadSubCats函数上面包含/编写的脚本。可能存在一些错误,因此loadSubCats函数不可用found@MichaelClarke你试过我的答案了吗?我已经更正了您的代码。@MichaelClarke:更新了我的帖子。仍然收到相同的错误并且没有输出。已检查文件接收,没有错误。如果使用$(document).ready(),则不会出现相同的错误。如果错误与您检查PHP文件输出的方式相同?尝试此操作后,问题没有得到解决,仍然得到ncaught ReferenceError:loadSubCats未定义,屏幕上没有输出。您将loadSubCats()函数放置在何处?将其放在全局范围内,而不是放在a$(文档)中。就绪
或任何其他闭包中。这将加载其他页面,但如何使用它传递的值$_GET,$POST都不包含iTunes$\u POST[“catid”]应获取上述函数传递的数据。