jQuery POST和GET方法:构造URL还是使用数据参数?

时间:2009-11-05 02:04:50

标签: jquery-plugins parameters jquery

我正在使用post and get methods进行Ajax调用,并且有一个普遍的问题。我见过人们在网上使用的方法有两种:

  1. 按以下方式构造网址和参数 手
  2. 使用数据参数
  3. 这两种方法都有效。我把它们包括在下面:

    // Construct the POST URL by hand
    queryStringDelimiter = "?";
    settings.queryParam = "q";
    $.post(settings.url + queryStringDelimiter + settings.queryParam + "=" + query, {}, callback, settings.contentType);
    
    // Use the data param
    $.post(settings.url, {q:query}, callback, settings.contentType);
    

    是否有任何情况下您需要手动构建网址和参数,而不是使用内置的数据参数?一种方法相对于另一种方法的任何优点?

4 个答案:

答案 0 :(得分:4)

我认为数据方法更好,因为它使流程正式化并减少了在构建字符串时产生错误的几率。此外,JQuery库将为您完成字符串构建,因此它的工作量基本相同。

答案 1 :(得分:1)

没有理由我可以想到为什么人们会手工构建它们,除非他们不知道数据参数是否有超过1或2个参数,它们也更清晰,以保持它们分开所以如果你必须循环通过数据对象,并可能修改您只是在对象上迭代的一些值,而不是手动解析字符串。

答案 2 :(得分:1)

如果你让jQuery将数据连接到适当格式化的字符串中......

  1. 避免重复该代码......
  2. 避免担心逃避数据传输......
  3. 将来可以在GET和POST请求之间轻松切换......
  4. 实际上,使用data参数的唯一参数是你是否已经拥有连续格式的数据。

答案 3 :(得分:0)

如果我正在使用GET,我倾向于构建URL,但在使用POST时我使用数据参数。

我这样做是因为它更接近于我在jQuery之前进行ajax调用的方式,当我自己编写所有内容时。