什么时候在ajax中的Javascript对象中使用

时间:2018-07-18 20:51:43

标签: jquery ajax asp.net-core-webapi

我正在使用ASP Core Web API,并且我想了解发送a的含义 没有在jQuery ajax请求上序列化的JavaScript对象?

例如:

var data = {firstName: '123', lasName: '' }
$.ajax({
        type: "POST",
        url: url,
        data: data,       
        success:  callback
  });

我希望何时发送? javascript对象

方法类型反映出来吗? (POST / GET)

我已经在网上搜索了,据我了解,我们通过GET方法发送Javascript对象,因为jQuery ajax会将其转换为键对值。是唯一原因吗?

2 个答案:

答案 0 :(得分:1)

jQuery为您序列化它。默认情况下,它将作为x-www-form-urlencoded发送。

答案 1 :(得分:0)

如另一个答案中所述,jQuery将自动将对象转换为URL编码的参数字符串。

执行此操作的主要好处之一是它将正确编码值。许多字符需要特殊的编码,并且如果您只是连接变量,例如:

var data = "firstname=" + firstname + "&lastname=" + lastname;

如果名称包含任何这些字符,则可能会出现问题。编写此代码的正确方法是:

var data = "firstname=" + encodeURIComponent(firstname( + "&lastname=" + encodeURIComponent(lastname);

使用对象使您不必担心这一点,jQuery可以确保它正确完成。