我正在尝试使用qs在HTML中将数据字符串化。 我的脚本导入如下:
<script src="{% static 'main/axios.min.js'%}"></script>
<script src="https://cdn.bootcss.com/qs/6.7.0/qs.js"></script>
<script src="{% static 'main/vue.js'%}"></script>
和我的html正文是这样的:
<body>
<div id="ele">
<button v-on:click="test">testApi</button>
</div>
<script>
var api = new Vue({
delimiters:['${','}'],
el: "#ele",
methods:{
test:function(event){
alert("testApi")
data = qs.stringfy({"msg":"test",'status':"started"})
axios.post('testApi',data)
.then(response=>{
alert("getData!")
})
}
}
})
</script>
</body>
但是该按钮未按预期运行。在我的Chrome控制台中,我得到以下信息:
它说qs尚未定义,但实际上我有脚本。你能告诉我如何解决吗?
答案 0 :(得分:0)
请注意,此cdnjs使用Q而不是Qs。
尝试一下。
// Get all products
app.get('/products', function(req, res) {
Product.find({})
.exec()
.then(products => res.render('products.ejs', {allProducts: products}))
.catch(err => res.json({errors: err}));
});
// Order a product
app.get('/products/:productId/order', function(req, res) {
req.user = {id: ""} /* id of the client, or the logged in user if you're using passeport or some other auth manager */
Client.findOne({_id: req.user.id})
.exec()
.then(client => {
if(client.order) {
return addToOrder(client.id, req.params.productId)
.then(order => res.render('cart.ejs', {order: order}))// render cart with the order
} else {
return createOrder(client.id, req.params.productId)
.then(order => res.json('cart.ejs', {order: order}))
}
})
.catch(err => res.json({errors: err}));
})