这是一个简单的问题:
JavaScript需要向服务器发送请求:
?MYSERVER / scipt.php LANG = EN&安培; AGENT = { “登录”:{ “名称”: “用户”, “传”: “用户”}}
我如何在Ajax中形成url和数据?
这是对的吗?
var formData = {
"login":$("#field1").val(),
"pass":$("#field2").val()
};
$.ajax({
url:'http://myserver/scipt.php?LANG=EN&',
type:'GET',
data:'AGENT=' + $.toJSON(formData),
success: function(res) {
alert(res);
}
});
谢谢!
答案 0 :(得分:0)
我建议通过POST而不是GET发送JSON。 GET有一些你想避免的限制。
其中的一部分,是的,您的代码似乎没问题。
编辑:
抱歉,您的代码不正常。
将数据行更改为:
data: $.toJSON(formData),
答案 1 :(得分:0)
您需要对要通过Ajax的任何字符串进行URL编码。
如果jQuery的工作方式与普通表单类似,则还需要将所有查询字符串数据放入data
以避免现有查询字符串被破坏。
url:'http://myserver/scipt.php',
type:'GET',
data: {
"AGENT": $.toJSON(formData),
"LANG": "EN"
},
注意,如果要传输用户凭据,则应使用POST请求。您不希望它们缓存或存储在服务器access.log文件中。
答案 2 :(得分:0)
您需要以地图的形式将数据发送到服务器..
您的数据已经是json格式..您无需再次$.toJSON
而不是
data:'AGENT=' + $.toJSON(formData),
以这种方式发送
data:{ 'AGENT' : {'Login' : formData } },