Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript html元素的值属性未定义_Javascript_Jquery - Fatal编程技术网

Javascript html元素的值属性未定义

Javascript html元素的值属性未定义,javascript,jquery,Javascript,Jquery,为什么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);

为什么
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;
            )};
        }
    });
});

li
元素不支持
属性。也许您正在通过
.html()
查找
li
的输入或内容


在这个演示中可以看到,
name
是未定义的:

如果您的意思是
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) 访问以确保其正确响应响应。您可能在php中有错误,或者链接可能无法访问

2) 您的url是这样的:?如果您的本地计算机中有一个虚拟主机,也可以。但是如果你有这样的东西,它就不起作用了

http://localhost/mysite/test.php 
除非在ajax调用中更正路径,否则将调用完整链接

3) 确保您的javascript在发送之前没有失败。我的意思是,你能做alert(名字)吗?您还可以使用上面的beforeSend()检查是否正确结束数据

4) 确保您没有试图发出跨域ajax请求,因为POST不能这样做

5) 我可能会尝试使用“/test.php”而不是“test.php”,尽管我认为这不会有问题

您还可以使用console查看发生了什么

POST和“ras=”(看起来像GET)看起来很奇怪(但我不确定)。