当前位置:Gxlcms > PHP教程 > javascript-php获取到data参数,如何与数组匹配

javascript-php获取到data参数,如何与数组匹配

时间:2021-07-01 10:21:17 帮助过:23人阅读

1.html:

推荐

全国各族人民发来贺电
2.js:
$('.new-title-info-btn').mouseenter(

    function(){
        var key=$(this).attr('class').split(" ")[1];//这里key取单独给他们的class值
        $('.'+key).click(function(){
            $.ajax({ 
                url:"js4-1.php?type=findnew", 
                dataType:"json", 
                data:"key="+key//这里必须加个键名"key=",不然key的值就会直接和type的值合在一起,变成type=findnew&pic;加了就是type=findnew&key=pic
            }).done(function(data){
                //
            });
        });
    };
);

3.php:
$type=@$_GET['type'];
$sleword=@$_GET['data'];
switch ($type) {

//从主页前段到php
case findnew:
    $sql="select id,new_title,new_class from info_look";//创建查询语句
    $re=mysql_query($sql);//执行语句
    $wordArray=[];//创建空字符串承载获取到的数据
    while($row=mysql_fetch_array($re)){
        $wordArray[]=$row;//将结果赋值给数组
    }
    //下面打算用循环找到对应传递过来的data参数,匹配到了,就把他回传给前台
     for($i=0;i<$wordArray.length;i++){
             if($wordArray[i].new_class==$sleword){
                 //这里传值$wordArray[i].new_class的值给js
                 //...
                 print_r ($wordArray[i].new_class);
             }
         }
    break;

}

要实现的功能:
点击html中的推荐按钮后,ajax将两个参数发送给php,一个是type,用来判断这个请求是要执行php中switch case主页那段的程序的;一个是data,用来判断和数据库中new_class字段值匹配的,相同的就把她的new_title值发送给js,然后js把值替换掉class="new-infomation-title"里的'全国各族人民发来贺电'内容
问题:
php中,注释//这里传值$wordArray[i].new_class的值给js这里要怎么写?还有前面的for循环php里好像不能这样写,测试会报错,求解答

报错截图:

回复内容:

1.html:

推荐

全国各族人民发来贺电
2.js:
$('.new-title-info-btn').mouseenter(

    function(){
        var key=$(this).attr('class').split(" ")[1];//这里key取单独给他们的class值
        $('.'+key).click(function(){
            $.ajax({ 
                url:"js4-1.php?type=findnew", 
                dataType:"json", 
                data:"key="+key//这里必须加个键名"key=",不然key的值就会直接和type的值合在一起,变成type=findnew&pic;加了就是type=findnew&key=pic
            }).done(function(data){
                //
            });
        });
    };
);

3.php:
$type=@$_GET['type'];
$sleword=@$_GET['data'];
switch ($type) {

//从主页前段到php
case findnew:
    $sql="select id,new_title,new_class from info_look";//创建查询语句
    $re=mysql_query($sql);//执行语句
    $wordArray=[];//创建空字符串承载获取到的数据
    while($row=mysql_fetch_array($re)){
        $wordArray[]=$row;//将结果赋值给数组
    }
    //下面打算用循环找到对应传递过来的data参数,匹配到了,就把他回传给前台
     for($i=0;i<$wordArray.length;i++){
             if($wordArray[i].new_class==$sleword){
                 //这里传值$wordArray[i].new_class的值给js
                 //...
                 print_r ($wordArray[i].new_class);
             }
         }
    break;

}

要实现的功能:
点击html中的推荐按钮后,ajax将两个参数发送给php,一个是type,用来判断这个请求是要执行php中switch case主页那段的程序的;一个是data,用来判断和数据库中new_class字段值匹配的,相同的就把她的new_title值发送给js,然后js把值替换掉class="new-infomation-title"里的'全国各族人民发来贺电'内容
问题:
php中,注释//这里传值$wordArray[i].new_class的值给js这里要怎么写?还有前面的for循环php里好像不能这样写,测试会报错,求解答

报错截图:

PHP数组没有.length。
获取数组长度请使用count函数。

for($i=0;$i

截图处 少写了$ 应该是 $i 而不是 i

楼上是对的。其实你可以把数据放入html的一个p标签里,设置一个id,并且用css隐藏(display:none;)。js直接选取这个p标签,提取出文本,就可以拿到数据了。这是比较粗暴的办法。

人气教程排行