无法加载图像

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (11)

浏览器控制台出错:

 https://static.food2fork.com/pastaallavodkaa870.jpg.jpg 404

试图在浏览器上显示图像,我不知道我的代码或food2fork结束是否有问题。

我的index.js:

// always make sure you have the right directory 

// import field 
import Search from './models/Search'; 
// import all the function from the view 
import * as searchView from './views/searchView'
import {elements} from './views/base'; 

/* Global state of the app
    - Search obj 
    - current recipe obj
    - shopping list object
    - liked recipes
*/

// everytime we reload the app, it will be empty 
const state = {}
const controlSearch = async () =>{
    // 1) Get the query from the view 
    const query =  searchView.getInput();

    if(query){
        // 2) new search object and add it to state 
        state.search = new Search(query); // new instance of the search class 

        // 3) prepare UI for results 

        // 4) Search for recipes 
        await state.search.getResults(); // await this promise then render the result 

        // 5) render result in the UI, reminder u got hit the search button 
        searchView.renderResult(state.search.result);

    }
}
elements.searchForm.addEventListener('submit', e => {
    e.preventDefault();
    controlSearch();
});

我的Search.js:

// this is the external source simply call its name
import axios from 'axios';

// query and then the search result 
// class declarition ES6
export default class Search { 
    constructor(query){
        this.query = query;
    }

    async getResults(){
        // fetch is only gonna work for modern browser 
        // HTTP request axios 
        // if you enter the invalid the key it will not work
//key is blurred out for stackoverflow
        const key = '------------------------';

        // return json 
        // if we can not access it we are going to use the cors proxy
       // const proxy = you can use google to search for cors proxy
        try{
            const res = await axios(`https://www.food2fork.com/api/search?key=${key}&q=${this.query}`);
            this.result = res.data.recipes;
            // console.log(this.result);
        } catch(error){
            alert(error);
        }
    }


}

我的searchView.js:

// if we are in the current folder then it is simply base 
import {elements} from './base'; 
// return the input value from the field 
// implicit search automatically return 
export const getInput =() => elements.searchInput.value; 

const renderRecipe = recipe =>{
    const markup = `
        <li>
            <a class="results__link" href="#${recipe.recipe_id}">
                <figure class="results__fig">
                    <img src="${recipe.image_url}.jpg" alt=${recipe.title}>
                </figure>
                <div class="results__data">
                    <h4 class="results__name">${recipe.title}</h4>
                    <p class="results__author">${recipe.publisher}</p>
                </div>
             </a>
        </li>
    `;
    // insert the html
    elements.searchResList.insertAdjacentHTML('beforeend',markup);

}

export const renderResult = recipes => {
    recipes.forEach(renderRecipe);
}

我的base.js:

// all the DOM element will be in this class object
export const elements = {
    searchForm: document.querySelector('.search'),
    searchInput: document.querySelector('.search__field'),
    searchResList: document.querySelector('.results__list')
}

我是网络开发人员的新手并且自己学习。我希望这不是一个糟糕的问题。我需要一个经验丰富的头脑来帮助我看看这个错误,因为它不是语法或逻辑错误。非常感谢,祝你有个美好的一天。

提问于
用户回答回答于

https://static.food2fork.com/pastaallavodkaa870.jpg.jpg 你的意思是添加.jpg.jpg吗?..如果没有,那么摘下最后一个.jpg

https://static.food2fork.com/pastaallavodkaa870.jpg

用户回答回答于

删除副本.jpg,它将工作。

https://static.food2fork.com/pastaallavodkaa870.jpg

扫码关注云+社区

领取腾讯云代金券