Jquery 内容类型无法通过AJAX Post发送到服务器

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发布到服务器,因为AJAX是内容类型。[使用此库][1]以及Jquery和Bootstrap,我发现了问题:

  • 当内容为JSON时,Curl在Flask应用程序中为post工作并检索成功
  • 在使用多种方法和方式后,post可以进入应用程序,但ContentType无法与JSON一起传输
  • 尝试了多种方式格式化JSON,但内容类型无法识别。 使用
以下是AJAX代码:

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)