Php 通过HTTP发布数据之间的差异<;表格>;在数据编码方面通过AJAX
有人能解释一下通过传统的HTTPPhp 通过HTTP发布数据之间的差异<;表格>;在数据编码方面通过AJAX,php,ajax,forms,Php,Ajax,Forms,有人能解释一下通过传统的HTTP和通过AJAX提交数据在数据编码方面的主要区别吗 实际上,在通过AJAX向服务器发送数据时,我面临着数据丢失的问题。之后的所有内容都将丢失 如果我通过jQueryAjax将以下数据发送到服务器 <p>test 1</p> <p> </p> <p>test 2</p> 那么这是否意味着HTTP表单会自动执行这种编码呢 如果我们必须通过AJAX将这些数据发送到服务器,那么我们必
和通过AJAX提交数据在数据编码方面的主要区别吗
实际上,在通过AJAX向服务器发送数据时,我面临着数据丢失的问题。
之后的所有内容都将丢失
如果我通过jQueryAjax将以下数据发送到服务器
<p>test 1</p>
<p> </p>
<p>test 2</p>
那么这是否意味着HTTP表单会自动执行这种编码呢
如果我们必须通过AJAX将这些数据发送到服务器,那么我们必须使用一些编码功能对其进行编码,例如encodeURIComponent()
我使用了encodeURIComponent()
,发现在服务器上成功地访问了整个数据,就像正常的HTML表单提交一样
任何人都可以详细介绍一下这个主题吗?HTML表单将根据
enctype
字段值的三个标准之一,在表单字段中提交数据
Ajax将允许您发送一个字符串,您可以根据自己的喜好对其进行格式化。您还可以传递某些类型的对象,这些对象将使用某种标准进行编码(例如,将使用您可以在表单中使用enctype
选择的相同多部分格式进行编码)
encodeURIComponent
将对查询字符串或应用程序/x-www-form-urlencoded请求的特殊字符进行转义,转义方式与默认情况下表单的转义方式相同,或者如果您将enctype
设置为application/x-www-form-urlencoded
,则应在字符串中的每个键和值上运行它,如果您使用它进行编码手动删除数据。不过,您可以使用URLSearchParams
对象
const html = `<p>test 1</p>
<p> </p>
<p>test 2</p>`;
const data = new URLSearchParams();
data.append("data", html);
const response = await fetch("http://example.com", { method: "POST", body: data });
const responseData = await response.json();
console.log(responseData);
consthtml=`test1
测试2`;
const data=新的URLSearchParams();
data.append(“数据”,html);
const response=等待获取(“http://example.com“,{方法:“张贴”,正文:数据});
const responseData=await response.json();
控制台日志(responseData);
因为您提到了jQuery,所以可以将其传递给普通对象:
const html = `<p>test 1</p>
<p> </p>
<p>test 2</p>`;
const data = { data: html };
const response = await jQuery.ajax("http://example.com", { method: "POST", data: data });
console.log(response);
consthtml=`test1
测试2`;
const data={data:html};
const response=wait jQuery.ajax(“http://example.com“,{方法:“POST”,数据:data});
控制台日志(响应);
const html = `<p>test 1</p>
<p> </p>
<p>test 2</p>`;
const data = new URLSearchParams();
data.append("data", html);
const response = await fetch("http://example.com", { method: "POST", body: data });
const responseData = await response.json();
console.log(responseData);
const html = `<p>test 1</p>
<p> </p>
<p>test 2</p>`;
const data = { data: html };
const response = await jQuery.ajax("http://example.com", { method: "POST", data: data });
console.log(response);