[英]Value attribute of html element is undefined
为什么name
未定义?
$('#langs li').click(function(){
var name = $(this).attr('value');
$.ajax({
type: "POST",
url:'test.php',
data: 'name='+name,
success:function(raspuns){
//$('#content1').html(raspuns);
var ras = raspuns;
$.ajax({
type: "POST",
url: "index.php",
data: 'ras='+ras;
)};
}
});
});
如果你的意思是, raspuns
似乎是不确定的,也许是因为你没有echo
从你的回应test.php
?
test.php的
...
echo 'this is my response';
AJAX调用
$.ajax({
...
success: function(raspuns) {
// raspuns == 'this is my response'
}
});
而且,如果您传递POST数据,我认为如果传递JSON对象会更好,如下所示:
$.ajax({
url: 'test.php',
type: 'POST',
data: {name: name},
...
});
您可以检查以下几点:确保在发送之前有数据。 你有李的价值属性吗? 或者如果你想获得li内容,请使用html()或txt()。 但是你可能想在li里面获得输入字段值? 然后使用$(this).find(“input”)。val()如果你只有一个输入。 然后其他人检查:
1)访问http://example.com/test.php以确保它正确回应响应。 您可能在php中有错误或链接可能无法访问。
2)你的网址是这样的: http : //example.com/test.php ? 如果您的本地计算机中有虚拟主机,例如http://example.local/test.php,那也没关系。 但如果你有类似的东西,它就行不通
http://localhost/mysite/test.php
除非你在ajax调用完整链接中纠正你的路径。
3)确保你的javascript在发送之前没有失败。 我的意思是,你能做警报(姓名)吗? 您还可以在成功之上使用beforeSend()来检查是否正确结束数据。
4)确保您没有尝试制作跨域ajax请求,因为您无法使用POST执行此操作。
5)我认为可以尝试使用“/test.php”而不是“test.php”,尽管这不是问题。
您还可以使用控制台查看发生了什么。
li
元素不支持value
属性。 也许你正在通过.html()
寻找输入或li
的内容。
请参阅此演示,该name
未定义: http : //jsbin.com/IzOXiJOZ/2/edit
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.