如果用我這種方法,怎樣才能做了POST的動作後會redirect到我想要的網站。
我試過用FORM POST DATA,和SAVE BUTTON 改做SUBMIT 是可以redirect的,如果要轉FORM POST的話,我要重新寫POST DATA的方法,所以"<el-button @click="save">Save" 用這個方法傳送的話有方法解決嗎?
twig code
<div id="div1">
<div>
<label>Title</label>
<el-input type="textarea" :rows="3" placeholder="Please input" v-model="test_message"></el-input>
<el-button @click="save">Save</el-button>
</div>
</div>
<script>
new Vue({
el: "#div1",
data() {
return {
activeName: 'first',
input: '',
test_message: "",
}
},
async created() {
// get data area
},
methods: {
save() {
var test_data_arr = { "test_message": this.test_message};
this.$http.post(window.location.pathname + "/Post", test_data_arr);
},
}
});
</script>
php code
public function Post()
{
// post data area
// 我看NETWORK是有POST到出去,但沒有RELOAD
$this->redirect("test");
// header("Location: test.php");
}
你在一個非同步請求,然後去運行後端轉向。
其實他有轉了。
但....
你的VUE是看著它在背景轉頁。
他還在等待回應。
因為你只做發送,沒做接收。
在VUE上發送完,就沒它的事了。
至於後端事情處理完了。然後轉頁了。就結束了。
以上,我用故事的方式說明,不清楚你是否能懂的我說的事。
總之,後端是後端轉頁,你非同步請求的情況下。並沒有做其處理的。
要清楚一下前端及後端的運做原理。