Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
AJAX动态按钮_Ajax - Fatal编程技术网

AJAX动态按钮

AJAX动态按钮,ajax,Ajax,有人对如何完成以下作业有什么建议吗?我在下面列出了老师的说明以及我的JavaScript代码。提前谢谢 说明: 主要任务是动态生成当前硬编码到相关HTML文件中的“流派”按钮。 类型按钮的工作方式应该与硬编码按钮当前的工作方式相同,这意味着它们应该附加一个事件侦听器,该侦听器应该显示来自ajax响应的播客,这些播客与单击的类型相匹配 JavaScript代码: /** * Ajax GET requester * */ function get(url){ //

有人对如何完成以下作业有什么建议吗?我在下面列出了老师的说明以及我的JavaScript代码。提前谢谢

说明: 主要任务是动态生成当前硬编码到相关HTML文件中的“流派”按钮。 类型按钮的工作方式应该与硬编码按钮当前的工作方式相同,这意味着它们应该附加一个事件侦听器,该侦听器应该显示来自ajax响应的播客,这些播客与单击的类型相匹配

JavaScript代码:

        /**
 * Ajax GET requester
 * 
 */
function get(url){
    // Return a new promise.
    return new Promise(function (resolve, reject){
        // Do the usual XHR stuff
        var req = new XMLHttpRequest();
        req.open('GET', 'js/data.json');

        req.onload = function(){
            // This is called even on 404 etc
            // so check the status
            if(req.status === 200){
                // Resolve the promise with the response text
                resolve(req.response);
            }else{
                // Otherwise reject with the status text
                // which will hopefully be a meaningful error
                reject(Error(req.statusText));
            }
        };
        // Make the request
        req.send();
    });
 }

    function get_podcasts(genre){
        var url = 'js/data.json';
        get(url).then(function (response){
            var body = document.getElementById('mainContent');
            response = JSON.parse(response);
            if(response.results.length > 0){
                body.innerHTML = '';
                for(var i = 0; i < response.results.length; i++ ){
                    if(response.results[i].primaryGenreName === genre ){
                        var image = '<img src="' + response.results[i].artworkUrl100 + '">';
                            var image = document.createElement('img');
                            image.src = response.results[i].artworkUrl100;
                            body.appendChild(image);
                            body.innerHTML += '<div>' + response.results[i].trackName + '</div>' ;
                    }
                }            
            }else{
                body.innerHTML = 'No results found.';
            }
            console.log(response);
        }, function (error){
            console.log('No hits Found');
        });
    }

    window.onload = function(){
        //create an array with all button names
        var genreNames = ['TV & Film', 'News & Politics', 'Society & Culture', 'Music', 'Hobbies']; 
        //loop through the array


        for(var i = 0; i < genreNames.length; i++){
           //create button element called "TV and Film" or whatever
           var dynamicButtons = document.createElement('BUTTON');
           var buttonText = document.createTextNode(genreNames);
           //add it to the DOM (document)
           dynamicButtons.appendChild(buttonText);
           document.body.appendChild(dynamicButtons);
        }
    /*
        for(i =0; i <= response.results.length; i++) {
            for (key in response.results[i].primaryGenreName) {
                if(response.results[i].primaryGenreName.hasOwnProperty(key)) {
                    output += '<li><button type="button">' + response.results[i].primaryGenreName + '</button></li>';
                    var update = document.getElementById('genres');
                    update.innerHTML = output;
                }
            }
        }
    */
    };
/**
*Ajax获取请求程序
* 
*/
函数get(url){
//回报一个新的承诺。
返回新承诺(功能(解决、拒绝){
//做通常的XHR工作
var req=新的XMLHttpRequest();
请求打开('GET','js/data.json');
req.onload=函数(){
//这甚至在404上也被称为
//所以检查一下状态
如果(请求状态===200){
//用响应文本解析承诺
解决(请求响应);
}否则{
//否则,拒绝状态文本
//这将有望成为一个有意义的错误
拒绝(错误(请求状态文本));
}
};
//提出请求
请求发送();
});
}
函数获取播客(类型){
var url='js/data.json';
获取(url)。然后(函数(响应){
var body=document.getElementById('mainContent');
response=JSON.parse(response);
如果(response.results.length>0){
body.innerHTML='';
对于(var i=0;i