[英]How can I send an object using axios?
有沒有辦法使用axios將對象發送到API?
這是我使用的代碼:
axios.get('/api/phones/create/', {
parameters: {
phone: this.phone
}
})
.then(response => {
console.log(response.data)
})
.catch(function (error) {
console.log(error)
})
在PHP方面,我有以下內容:
public function create($phone)
{
return $phone;
}
我收到以下錯誤:
GET http://crm2.dev/api/phones/create 500 (Internal Server Error)
dispatchXhrRequest @ app.6007af59798a7b58ff81.js:256
xhrAdapter @ app.6007af59798a7b58ff81.js:93
dispatchRequest @ app.6007af59798a7b58ff81.js:662
app.6007af59798a7b58ff81.js:2266 Error: Request failed with status code 500
at createError (app.6007af59798a7b58ff81.js:600)
at settle (app.6007af59798a7b58ff81.js:742)
at XMLHttpRequest.handleLoad (app.6007af59798a7b58ff81.js:158)
如果我試試, axios.get('/api/phones/create/hello')
我在控制台日志中hello
。
有沒有辦法做到這一點?
這取決於“發送對象”的含義。
由於您正在使用GET請求並在參數中傳遞對象,因此您可以將其序列化為查詢參數,作為GET請求的一部分。 這不會真正發送對象,而是使用它來構建GET請求的URL的查詢部分。
例如,以下是如何向/api/phones/create?phone=123
發出請求:
axios.get('/api/phones/create/', {
params: {
phone: '123'
}
})
如果您希望將對象實際作為序列化JSON發送到API,則可以使用POST或PUT請求,具體取決於API的語義。
例如,要將{ "phone": "123" }
發送到您的api,您可以執行以下操作:
axios.post('/api/phones/create/', {
phone: '123'
});
注 :Axios公司預計關鍵params
的參數。
首先嘗試使用params
而不是parameters
。
如果您想支持舊瀏覽器, Axios依賴於您可能需要向您的代碼添加promise polyfill的承諾 。
以下是樣本請求,閱讀官方文檔以獲取更多信息。
axios.get('/url', {
firstName: 'Fred',
lastName: 'Flintstone'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.