我有一个表单
<turbo-frame id="goals">
<form action="/add_goal">
<label for="goal_name">Goal Name</label>
<input type="text" id="goal_name" name="goal_name" placeholder="Goal name..">
<input type="submit" value="Add Goal">
</form>
</turbo-frame>
我想替换的。
作为答复,我发送303;位置:/added_goal"以及"/added_ goal";返回
<html>
<body>
<turbo-frame id="goals">
OK!
</turbo-frame>
</body>
</html>
Turbo在Turbo帧上设置src,但不替换内容。
服务器的响应格式可能不正确。考虑到您的HTML,前端Turbo将期望以下内容:
<turbo-stream action="replace" target="goals">
<template>
<div>
This div will replace the existing element with the DOM ID "goals".
</div>
</template>
</turbo-stream>
请参阅Turbo文档,代码片段是根据该文档改编的。
目前尚不清楚您是否也存在此问题,但应确保您的服务器使用内容类型text/vnd.turbo-stream
进行响应。如果内容类型标题不正确,HTML格式是否正确也没关系。