我从Laravel控制器向TypeScript(TS)发送信息时遇到问题 我尝试使用Ajax,但无法获取从控制器发送的信息
Laravel控制器
public function getUrl()
{
$Id = request('id');
$urlAdjunto = Adjunto::where('articulo_id', $Id)->plunk('url');
return response()->json(['url' => $urlAdjunto]);
}
打字稿中的Ajax函数
function getUrl(id) {
var a= $.ajax({
type : 'GET',
dataType: 'json',
url : '/adjunto',
data : {id}
});
return a;
}
答案 0 :(得分:0)
进行一些小的修改以使该类型安全并按预期返回承诺:
async function getUrl(id: number): Promise<any> {
return await $.ajax({
type: 'get',
dataType: 'json',
url: '/adjunto',
data: {id}
})
}
现在您可以保证可以在代码中进行观察并做出反应:
getUrl(15)
.then((response: any) => {
//response.data has everything you need
}).catch((error: any) => {
// do something with failures
})
或从另一个async
函数调用它,并利用await
获得更简洁的语法:
async myFunc(){
try {
const { data } = await getUrl(15)
// do something with your data
} catch(error) {
// we all make mistakes
}
}