gpt4 book ai didi

javascript - 如何将 ajax 调用中的函数从 JQuery 传递到 Node.JS 服务器

转载 作者:太空宇宙 更新时间:2023-11-04 01:33:40 25 4
gpt4 key购买 nike

这是我的代码

let url = "/blabla";
let ajax_options = {
data:{
params_list:{
sortFunction: (x, y) => parseFloat(x) - parseFloat(y);
}
}
};
$.ajax(url,ajax_options).then((res) => {
//do something
});

但是当我检查浏览器尝试加载的实际 GET url 时,我得到:

http://localhost/blabla?params_list[sortFunction]=NaN

我应该如何编写代码以使其正确传递函数定义?

最佳答案

将函数引用保存到变量并在 $.ajax 内部解析之前使用 Function#toString()

const fn = (x, y) => parseFloat(x) - parseFloat(y),
url = 'https://httpbin.org/get';

let ajax_options = {
data: {
params_list: {
sortFunction: fn.toString()
}
}
};

$.ajax(url, ajax_options).then(({args, url}) => {
console.log('Response data ::', args);
console.log('URL used ::', url);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Note 可能还应该使用 encodeURIComponent() 因为它是 GET。如果以 POST 方式发送则不需要

关于javascript - 如何将 ajax 调用中的函数从 JQuery 传递到 Node.JS 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55214170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com