猿问

Ajax请求中send(string)的string书写格式是怎样的?

这里的data不能是json或xml格式,那么string格式的书写形式是怎样的呢?另外有哪些途径可以获知,我查了w3c和慕课网都没有呢
////////////////////////////////
var request = new XMLHttpRequest();
	request.open("POST", "serverjson.php");
	var data = "name=" + document.getElementById("staffName").value 
	                  + "&number=" + document.getElementById("staffNumber").value 
	                  + "&sex=" + document.getElementById("staffSex").value 
	                  + "&job=" + document.getElementById("staffJob").value;
	request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
	request.send(data);


newsudhc3634140
浏览 3198回答 2
2回答

fishenal

我猜你的问题应该是,ajax请求的参数如何将js 对象 转化为字符串形式。因为ajax请求接受的参数实际上都是字符串,js对象是无法传过去的,所以你要把对象转成字符串,用的方法就是JSON.stringfy(obj)。你这段代码,没必要在data赋值的时候用一堆字符串拼接。完全可以先把值赋给data对象,然后直接JSON.stringfy(data)就行了。

Despicableme01

你json不也是个字符串么?json对象是不能直接当参数传,不是也得先JSON.stringify()么?基本格式和get方式放在url后面的一样,也是“键=值&键=值”
随时随地看视频慕课网APP
我要回答