admin 发表于 2022-4-18 12:40:34

$.send传值遇到的问题

hondy.js自带$.send(url,json,target)函数,target为空相当于_self,其中json不可以是字符串,否则会出现url无效的情况,经过研究整理如下:

来自网上的serialize()转json方案:
var DataDeal = {
    formToJson: function (data) {
      data = data.replace(/&/g, "\",\"");
      data = data.replace(/=/g, "\":\"");
      //注意网上的方案data是字符串,这儿一定要仔细了
      data = "{\"" + data + "\"}";
      //因此需要利用jquery函数将字符串转化为真正的json
      return $.parseJSON(data);
    },
};

调用实例:
$("body").on("click", ".so ", function () {
    var data = $(this).find("form").serialize();//获取值
    $.send("./", eval(DataDeal.formToJson(data)), "");
    //防止二次执行submit
    return false;
});

此方案在kdrmd模板首次实现,容易弄错的就是DataDeal.formToJson的参数data一定要是json格式。
页: [1]
查看完整版本: $.send传值遇到的问题