带有一些参数的javascript json请求

时间:2012-10-26 09:03:55

标签: javascript ajax json get

这是一个简单的问题:

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);
                           }
      });

谢谢!

3 个答案:

答案 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 } },