我有一個HTML表單,我想提交給一個瓶頸端點/ add_int。當表單提交我與jQuery截獲它,並提交表單使用AJAX端點如下:AJAX沒有正確解析網址
var form = $(this).serialize()
$.post({
url: "{{ url_for('add_int') }}",
data: JSON.stringify(form),
contentType: 'application/json;charset=UTF-8',
success: function(resp) {
console.log(resp);
}
});
端點看起來是這樣的:
@app.route('/add_int', methods=['GET', 'POST'])
@login_required
def add_int():
# do stuff
return jsonify(status="success!")
我的問題是,我從來沒有到端點。
當我審視我的控制檯我看
POST http://127.0.0.1:5000/[object%20Object] 404 (NOT FOUND)
,而不是
POST http://127.0.0.1:5000/add_int
如我期望。
需要注意的是,如果我設置
url: '/add_int',
我遇到了同樣的問題。
我發現使用幾乎相同的代碼,沒有提到這個問題的案例: how can I use data posted from ajax in flask?
我的猜測是,我的網址被解析爲字符串對象而不是網址,但我無法弄清楚它爲什麼會發生,以及如何解決它。
發生了什麼事?
太棒了。這讓我到了正確的端點! – ABM 2014-10-07 17:46:30
爲了增加一點答案,'$ .ajax'需要'url'鍵。快捷方式(.e.g,'$ .get','$ .post')將URL作爲第一個參數。 – dirn 2014-10-07 18:24:08