javascript - php取得到data參數,如何與陣列匹配

WBOY
發布: 2016-08-08 09:06:51
原創
1141 人瀏覽過

1.html:

<code><div class="new-title-info-btn recommend"><a href="#">推荐</a></div></code>
登入後複製
登入後複製

全國各族人發賀電

2.js:
$('.new-title-info-btn').mouseenter(
<code>    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){
                //
            });
        });
    };
);</code>
登入後複製
登入後複製

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

<code>//从主页前段到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;</code>
登入後複製
登入後複製

}
javascript - php取得到data參數,如何與陣列匹配

要實現的功能:
點擊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裡好像不能這樣寫,測試會報錯,求解答

報錯截圖:

javascript - php取得到data參數,如何與陣列匹配

回覆內容:

1.html:

<code><div class="new-title-info-btn recommend"><a href="#">推荐</a></div></code>
登入後複製
登入後複製

全國各族人發賀電

2.js:
$('.new-title-info-btn').mouseenter(
<code>    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){
                //
            });
        });
    };
);</code>
登入後複製
登入後複製

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

<code>//从主页前段到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;</code>
登入後複製
登入後複製

}
javascript - php取得到data參數,如何與陣列匹配

要實現的功能:
點擊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裡好像不能這樣寫,測試會報錯,求解答

報錯截圖:

javascript - php取得到data參數,如何與陣列匹配

PHP數組沒有.length。
取得數組長度請使用count函數。

<code>for($i=0;$i<count($wordArray);$i++){
    print_r($wordArray[$i]);
}</code>
登入後複製

截圖處 少寫了$ 應該是 $i 而不是 i

樓上是對的。其實你可以把資料放入html的一個p標籤裡,設定一個id,並且用css隱藏(display:none;)。 js直接選取這個p標籤,提取出文本,就可以拿到資料了。這是比較粗暴的辦法。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!