Jquery 内容类型无法通过AJAX Post发送到服务器
我无法将JSON发布到服务器,因为AJAX是内容类型。[使用此库][1]以及Jquery和Bootstrap,我发现了问题:Jquery 内容类型无法通过AJAX Post发送到服务器,jquery,json,ajax,Jquery,Json,Ajax,我无法将JSON发布到服务器,因为AJAX是内容类型。[使用此库][1]以及Jquery和Bootstrap,我发现了问题: 当内容为JSON时,Curl在Flask应用程序中为post工作并检索成功 在使用多种方法和方式后,post可以进入应用程序,但ContentType无法与JSON一起传输 尝试了多种方式格式化JSON,但内容类型无法识别。 使用 以下是AJAX代码: var items; $('#orderform').on('submit',function () {
- 当内容为JSON时,Curl在Flask应用程序中为post工作并检索成功
- 在使用多种方法和方式后,post可以进入应用程序,但ContentType无法与JSON一起传输
- 尝试了多种方式格式化JSON,但内容类型无法识别。 使用
var items;
$('#orderform').on('submit',function () {
console.log(items);
$.ajax({
url: "/order",
type: "POST",
data: JSON.stringify({"order": '555'}),
contentType: "application/json; charset=utf-8",
dataType: "text/html; charset=utf-8",
success: function(result) {
var data = "Check";
}
});
编辑:这是内容类型:
应用程序/x-www-form-urlencoded
编辑2:使用网页的绝对路径作为URL,我发现它在发回服务器时收到一个405,没有分配内容标题
编辑3:以下是JSFIDLE:
var顺序;
var调整;
var group=$(“ol.simple\u带动画”)。可排序({
组:“带动画的简单动画”,
pullPlaceholder:false,
//落地动画
onDrop:function($item,container,_super){
var$clonedItem=$(“”).css({
身高:0
});
$item.before($clonedItem);
$clonedItem.animate({
“高度”:$item.height()
});
$item.animate($clonedItem.position(),function()){
$clonedItem.detach();
_超级(物品、容器);
});
var data=group.sortable(“序列化”).get();
顺序=数据[1];
控制台日志(订单);
},
//相对于光标位置设置$item
onDragStart:function($item,container,_super){
var offset=$item.offset(),
指针=container.rootGroup.pointer;
调整={
左:指针.left-偏移量.left,
顶部:pointer.top-offset.top
};
_超级(物品、容器);
},
onDrag:功能($item,position){
$item.css({
左:位置.left-调整.left,
顶部:位置.top-调整.top
});
},
序列化:函数(父、子、isContainer){
返回isContainer?children.join():parent.text();
},
公差:6,
距离:10
});
$(文档).ready(函数(){
$(':button')。在('click',function()上{
控制台日志(订单);
$.ajax({
url:“http://ec2-54-244-61-189.us-west-2.compute.amazonaws.com/order",
类型:“POST”,
cache:false,
数据类型:“json”,
contentType:“应用程序/json;字符集=utf-8”,
数据:JSON.stringify({
“信息”:订单
}),
async:false,
成功:功能(结果){
window.location.href=result.redirect;
},
错误:函数(xhr、状态、错误){
var err=eval(“+xhr.responseText+”);
警报(错误消息);
}
});
});//结束我的工作按钮单击
}); //结束文档。请阅读
body.drawing,
正文*{
光标:移动!重要;
}
.拖{
位置:绝对位置;
不透明度:0.5;
z指数:2000;
}
ol.simple\u带动画li.placeholder{
位置:相对位置;
/**更多黎族风格**/
}
ol.simple_with_动画li.占位符:before{
位置:绝对位置;
/**定义箭头**/
}
#甘博洛德资源,
#赌徒目标{
最小高度:50px;
利润率:0px 25px 10px 0px;
填充:2px;
边框宽度:1px;
边框样式:实心;
-webkit边界半径:3px;
-moz边界半径:3px;
边界半径:3px;
列表样式类型:无;
列表样式位置:内部;
}
#赌徒资源{
边框:2个虚线#f8e0b1!重要;
背景色:#fefcf5!重要;
}
#赌徒目标{
边框:2个虚线#添加38d!重要;
背景色:#f6fbf4!重要;
}
#李国源{
背景色:#fcf8e3;
边框:1px实心#fbeed5;
颜色:#c09853;
}
#赌徒李{
背景色:#ebf5e6;
边框:1px实心#d6e9c6;
颜色:#468847;
}
首先
第二
第三
首先
第二
第三
使用数据类型:“json”
发送json
数据。您没有在服务器上发送json数据。您需要更改dataType
以发送json
数据
尝试使用此ajax代码,如果json对象已经是正确的对象,则无需对其进行字符串化。我已经在我身边测试过了,希望它能帮助你
$.ajax({
type:"POST",
url: "YOUR PATH TO FILE OR METHOD",
data:{
order:'555'
},
dataType: 'json',
success: function(data){
if(data['success']=='true'){
echo 'success';
}else{
if(data['success']=='false'){
echo 'not success';
}
}
},
error: function(xhr, status, error) {
console.log(status);
console.log(error);
}
});
只需将您的数据类型:“text/html;charset=utf-8”更改为
dataType:json
,进行修改仍然不会将json数据类型发送到服务器并触发正确的响应。谢谢你的帮助。不,我没有,我还在经历。我一直很困惑。所以我知道,如果我使用绝对URL并将其发布到所述URL“/order”,它将发布405。URL:“/order”
什么是/order
order是函数?/order是GET/post方法。当作为GET检索时,它应该返回一个允许用户输入的页面。然后,当触发帖子时,它应该将数据提交到一个新页面。您好,首先谢谢您,其次我马上就到了,我得到了这个错误:SyntaxError:Unexpected token<在JSON中的位置1在JSON.parse()在n.parseJSON(jquery.min.js:4)在Xb(jquery.min.js:4)在y(jquery.min.js:4)在JSON中在XMLHttpRequest.c(jquery.min.js:4)