首页 > 解决方案 > 如何使用 jquery ajax 发布具有自定义 json 结构的数据?

问题描述

我正在将 Wordpress 与 Woocommerce 平台一起使用。成功下订单后,我必须将选定的订单详细信息发送到 API(第三方会计系统)。

当前的jquery ajax代码

  j.ajax({
    type: 'POST',
    url: 'https://mywebsite/api/orderupload',
    cache: false,
    data: {

    },
    beforeSend:function() {

    },
    success: function (result) {
    },
    error: function(xhr,status,error) {
      console.log(error);
    },
    complete:function(){
    }
  });

上面 post 请求必须在data{}内的 json 数据的结构是:

{
  "order": {
    "customer": {
      "type": "public",
      "vat": "false",
      "org_nr": "123456-789",
      "name": "Carl Lorem",
      "phone": "639055543227",
      "address": {
        "name": "Carl Lorem",
        "address": "Riften Street",
        "zipcode": "2323",
        "city": "Dawnstar City",
        "country": "US"
      },
      "email": "carllorem@gmail.com"
    },
    "transaction": {
      "storage": {
        "name": "Los Angeles",
        "location": "Road Earth",
      },
      "insurance": {
        "name": "Igsum Nat",
        "cost": "30"
      },
      "date": {
        "start": "2018-4-23",
        "end": ""
      }
    }
  }
}

你知道如何为我的帖子请求构建我的 json 数据吗?任何想法都值得赞赏。谢谢

标签: javascriptphpjqueryhtmlwordpress

解决方案


{
    "order": {
        "customer": {
            "type": "public",
            "vat": "false",
            "org_nr": "123456-789",
            "name": "Carl Lorem",
            "phone": "639055543227",
            "address": {
                "name": "Carl Lorem",
                "address": "Riften Street",
                "zipcode": "2323",
                "city": "Dawnstar City",
                "country": "US"
            },
            "email": "carllorem@gmail.com"
        },
        "transaction": {
            "storage": {
                "name": "Los Angeles",
                "location": "Los Angeles, Road Street"
            },
            "insurance": {
                "name": "Igsum Nat",
                "cost": "30"
            },
            "date": {
                "start": "2018-4-23",
                "end": ""
            }
        }
    }
}

你附加的 json 无效,我给你发了一个正确的,

关于ajax部分:

$.ajax({
       type: "POST",
       url: '/mywebsite/api/orderupload',
       data: ("myjson": myjson},
       dataType: 'json'
 success: function (response) {
console.log(response)
}
   error: function(xhr,status,error) {
      console.log(error)
    },
})

myjson 变量是您要通过 ajax 发送的 json。之后,您的后端将接管您的处理方式。


推荐阅读