如何将下拉列表中的参数成功传输到 php 文件?

哈金的

我有一个 Bootstrap 下拉列表,当最终用户选择我想optionhref属性上指示的参数传递给我的 php 文件的项目之一时rssnews.inc.php,我的下拉列表如下所示:

<div class="dropdown">
    <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
    Select<span class="caret"></span>
    </button>
    <ul class="dropdown-menu" aria-labelledby="dropdownMenu1" id="rubChoice">
        <li><a href="/rss/core/inc/rssnews.inc.php?option=sport" id="act1" data-item="Sport">Sport</a></li>
        <li><a href="/rss/core/inc/rssnews.inc.php?option=politique" id="act2"  data-item="Politique">Politique</a></li>
        <li><a href="/rss/core/inc/rssnews.inc.php?option=international" id="act3"  data-item="International">International</a></li>
        <li><a href="/rss/core/inc/rssnews.inc.php?option=divers" id="act4"  data-item="Divers">Divers</a></li>
    </ul>
</div>

我的rssnews.inc.php文件看起来像:

    function getFeed() 
    {
        if (isset($_POST['option'])) {
            $option = $_POST['option'];

            switch ($option) {
                case "sport":
                    $url = 'http://feeds.feedburner.com/GalerieArtciles';
                    echo 'Du sport'.$url;
                    break;
                case "international":
                    $url = 'http://feeds.bbci.co.uk/news/rss.xml?edition=int#';
                    echo 'Du international'.$url;
                    break;
                case "politique":
                    $url = 'http://www.elkhabar.com/feeds/';
                    echo 'du politique'.$url;
                    break;
                default: $url = 'http://feeds.bbci.co.uk/news/rss.xml?edition=int#';
                    break;
            }
        } else {
            echo "there is error"; 
        }

       $content = file_get_contents($url);
    $data = simplexml_load_string($content);
    $articles= array();

    foreach( $data->channel->item as $item){

        $articles[]=array(
            'title'         =>  (string)$item->title,
            'description'   =>  (string)$item->description,
            'link'          =>  (string)$item->link,
            'Date'          =>  (string)$item->pubDate,
        );
    }

     $articalesArr = array();
    foreach($articles as $article){
        array_push($articalesArr, $article['title']);    
    }

    return json_encode($articles);
}
if(isset($_GET['function']) && $_GET['function'] !=''){

    $result = $_GET['function']();
    echo json_encode($result);
    header("Content-type:application/json");
} 
    }

要执行此功能,我有一个按钮,id="start"当最终用户单击它时,会进行 AJAX 调用:

<button type="submit" class="btn btn-default btn-success col-xs-3" id="start"> <i class="fa fa-play"></i>Start</button>

AJAX 调用:

$('#start').click(function(){
            var $item = $('#test');
                $.ajax({
                    type:'GET',
                    url: '/rss/core/inc/rssnews.inc.php?function=getFeed',
                    //dataType: 'json',
                    success: function (data){
                    var articles = $.parseJSON(data);
                    $.each (articles, function (key, value) { 
                        $item.append('<div id="item" style="border-bottom:1px dashed #ccc; padding-top:10px; padding-right: 10px;"><ul><li><h4>'+ value.title +'</h4></li> <li>'+ value.description+'</li><li><a href="'+value.link+'">Lire+</a></li></ul>');
                        console.log('success',data);

                    });

                    }
                });
            });

执行代码后,我收到此消息"there is error"那么,如何将下拉列表中的参数成功传输到 php 文件?知道我遵循的场景是: 1. 最终用户选择带有下拉列表的主题 2. 选择的主题对应于 URL 3. 函数 getFeed() 获取 RSS 提要 4. 当最终用户单击开始按钮时,获取 RSS 并div 元素上显示的数据 任何帮助我很感激。

优洛

自从您编辑了您的问题后更新了我的答案...

这是现在工作:

rssnews.inc.php

function getFeed()
{

    if (isset($_POST['option'])) {
        $option = $_POST['option'];

        // dont echo strings here since you want to output json at the end
        switch ($option) {
            case "sport": // this is case sensitive. Your dta-item attributes had capital letter
                $url = 'http://feeds.feedburner.com/GalerieArtciles';
                //echo 'Du sport'.$url; 
                break;
            case "international":
                $url = 'http://feeds.bbci.co.uk/news/rss.xml?edition=int#';
                //echo 'Du international'.$url;
                break;
            case "politique":
                $url = 'http://www.elkhabar.com/feeds/';
                //echo 'du politique'.$url;
                break;
            default: $url = 'http://feeds.bbci.co.uk/news/rss.xml?edition=int#';
                break;
        }
    } else {
        echo "there is error";
    }

    $content = file_get_contents($url);
    $data = simplexml_load_string($content);
    $articles= array();

    foreach( $data->channel->item as $item){

        $articles[]=array(
            'title'         =>  (string)$item->title,
            'description'   =>  (string)$item->description,
            'link'          =>  (string)$item->link,
            'Date'          =>  (string)$item->pubDate,
        );
    }

    $articalesArr = array();
    foreach($articles as $article){
        array_push($articalesArr, $article['title']);
    }

    return json_encode($articles);
}
if(isset($_GET['function']) && $_GET['function'] !=''){

    $result = $_GET['function']();
    header("Content-type:application/json"); // this one must be called before echoing
    echo json_encode($result);
}

HTML + Javascript 代码

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">

<div class="dropdown">
    <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
        Select<span class="caret"></span>
    </button>
    <ul class="dropdown-menu" aria-labelledby="dropdownMenu1" id="rubChoice">
        <li><a role="button" id="act1" data-item="sport">Sport</a></li> 
        <!-- a link is a link, if you click it, it will open url. So remove href and add role="button" to keep it valid html -->
        <li><a role="button" id="act2"  data-item="politique">Politique</a></li>
        <li><a role="button" id="act3"  data-item="international">International</a></li>
        <li><a role="button" id="act4"  data-item="divers">Divers</a></li>
    </ul>
</div>

<div id="test">

</div>
<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>

<script type="text/javascript">
    $(document).ready(function(){

        $('#rubChoice li').click(function(event){ // more convenient to take the list item as selector

            event.preventDefault(); // prevent link opening

            var $item = $('#test');
            $.ajax({
                type:'POST', // change to post
                url: './rssnews.inc.php?function=getFeed',
                dataType: 'json', // you're expecting json...
                data: {"option":$(this).find('a').attr('data-item')},
                success: function (data){
                    var articles = $.parseJSON(data);
                    $.each (articles, function (key, value) {
                        $item.append('<div id="item" style="border-bottom:1px dashed #ccc; padding-top:10px; padding-right: 10px;"><ul><li><h4>'+ value.title +'</h4></li> <li>'+ value.description+'</li><li><a href="'+value.link+'">Lire+</a></li></ul>');
                        console.log('success',data);

                    });

                }
            });
        });

    });
</script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将下拉列表中检索到的值的ID从数据库发送到php文件?

来自分类Dev

如何将下拉列表中检索到的值的ID从数据库发送到php文件?

来自分类Dev

如何将数据流式传输到希望从作为参数给出的文件中读取数据的程序?

来自分类Dev

将DBF文件传输到EXCEL到PHP

来自分类Dev

如何将信息从文件夹传输到文件?

来自分类Dev

如何将 this.score 传输到文本文件以获取高分列表?(AjaX)

来自分类Dev

如何将本地文件流式传输到Chromecast?

来自分类Dev

如何将几个大文件流式传输到码头

来自分类Dev

如何将文件的输出通过管道传输到命令?

来自分类Dev

如何将参数传递给mainLayoutAsset.php文件?

来自分类Dev

如何将文件从VMWare中的Windows95传输到主机OS?

来自分类Dev

如何将logstash中的日志/txt文件管道传输到elasticsearch

来自分类Dev

如何将命令输出通过管道传输到 shell 中的 CSV 文件?

来自分类Dev

如何将 5 个字母的单词传输到新的文本文件中?

来自分类Dev

如何将数据从多个 excel/csv 文件传输到 C# 中的字典

来自分类Dev

如何将数据从列表组项传递到 PHP 文件?

来自分类Dev

scp将文件成功传输到主机,但文件不会显示

来自分类Dev

如何将多个远程图像流式传输到一个zip文件中,并使用ExpressJS将其传输到浏览器中?

来自分类Dev

如何将php文件放在div类中?

来自分类Dev

如何将 PHP 文件放入 JavaScript 中?

来自分类Dev

php文件类型列表

来自分类Dev

如何将参数从php文件传递到Java脚本文件

来自分类Dev

如何将PHP文件添加到HTML文件

来自分类Dev

如何将php文件链接到html文件

来自分类Dev

使用AWS PHP SDK将文件安全传输到S3

来自分类Dev

PHP-将CSV文件流式传输到浏览器

来自分类Dev

PHP:无法将CSV文件流式传输到客户端以响应AJAX调用

来自分类Dev

将ID从一个php文件传输到另一个

来自分类Dev

如何将.mat文件传输到图像文件而不作任何更改?

Related 相关文章

  1. 1

    如何将下拉列表中检索到的值的ID从数据库发送到php文件?

  2. 2

    如何将下拉列表中检索到的值的ID从数据库发送到php文件?

  3. 3

    如何将数据流式传输到希望从作为参数给出的文件中读取数据的程序?

  4. 4

    将DBF文件传输到EXCEL到PHP

  5. 5

    如何将信息从文件夹传输到文件?

  6. 6

    如何将 this.score 传输到文本文件以获取高分列表?(AjaX)

  7. 7

    如何将本地文件流式传输到Chromecast?

  8. 8

    如何将几个大文件流式传输到码头

  9. 9

    如何将文件的输出通过管道传输到命令?

  10. 10

    如何将参数传递给mainLayoutAsset.php文件?

  11. 11

    如何将文件从VMWare中的Windows95传输到主机OS?

  12. 12

    如何将logstash中的日志/txt文件管道传输到elasticsearch

  13. 13

    如何将命令输出通过管道传输到 shell 中的 CSV 文件?

  14. 14

    如何将 5 个字母的单词传输到新的文本文件中?

  15. 15

    如何将数据从多个 excel/csv 文件传输到 C# 中的字典

  16. 16

    如何将数据从列表组项传递到 PHP 文件?

  17. 17

    scp将文件成功传输到主机,但文件不会显示

  18. 18

    如何将多个远程图像流式传输到一个zip文件中,并使用ExpressJS将其传输到浏览器中?

  19. 19

    如何将php文件放在div类中?

  20. 20

    如何将 PHP 文件放入 JavaScript 中?

  21. 21

    php文件类型列表

  22. 22

    如何将参数从php文件传递到Java脚本文件

  23. 23

    如何将PHP文件添加到HTML文件

  24. 24

    如何将php文件链接到html文件

  25. 25

    使用AWS PHP SDK将文件安全传输到S3

  26. 26

    PHP-将CSV文件流式传输到浏览器

  27. 27

    PHP:无法将CSV文件流式传输到客户端以响应AJAX调用

  28. 28

    将ID从一个php文件传输到另一个

  29. 29

    如何将.mat文件传输到图像文件而不作任何更改?

热门标签

归档