2017-06-06 2 views
1

Ich habe den folgende API-Aufruf in meiner reactjs App:Mit einer `neuen Anfrage` in node/react, wie Params mit einer GET-Anfrage übergeben werden?

static getAllSkills(title_id) { 
    const request = new Request(`http://localhost:4300/api/v1/job_title_skills`, { 
     method: 'GET', 
     headers: new Headers({ 
     'Content-Type': 'application/json' 
     }), 
     body: JSON.stringify({title_id: title_id}) 
    }); 

    return fetch(request).then(response => { 
     return response.json(); 
    }).catch(error => { 
     return error; 
    }); 
    } 

, die zu einem Rails-Endpunkt verweist, die wie so den param title_id erwartet:

def index 
    @skills = Skill.where(id: params[:title_id]) 
    .... 
    end 

Der Controller erwartet jedoch eine GET-Anfrage mit die oben, erhalte ich die folgenden JS-Konsole Fehler:

Uncaught TypeError: Failed to construct 'Request': Request with GET/HEAD method cannot have body. 

Was den richtigen Weg ist, um die Request und pa zu konstruieren ss der Parameter der API?

Dank

Antwort

2

Ich denke, die URL in Ihrem api für die title_id wartet vielleicht wie:

api/v1/job_title_skills/:title_id 

So können Sie es in Ihrer URL anhängen, wenn Sie den Antrag stellen:

static getAllSkills(title_id) { 
    const request = new Request(`http://localhost:4300/api/v1/job_title_skills/${title_id}`, { 
    headers: new Headers({ 
     'Content-Type': 'application/json' 
    }) 
    }); 

    return fetch(request).then(response => { 
    return response.json(); 
    }).catch(error => { 
    return error; 
    }); 
} 
Verwandte Themen