2009-11-05 48 views
1

我使用post and get methods的Ajax调用,并有一个一般性的问题。有两种方法我见过人们在网络上使用:jQuery POST和GET方法:构造URL还是使用数据参数?

  1. 通过 手构造URL和参数
  2. 使用数据参数

两种方法的工作。我已经包括以下这些:

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

有没有在那里你将构建由手工URL和参数,而不是使用内置数据参数的任何情况呢?一种方法比另一种方法有什么优势?

回答

4

我想说的数据的方法是更好,因为它的正规化进程,并降低了生产,同时串建设错误的机会。此外,JQuery库将为您创建字符串,因此它的工作量基本相同。

0

如果我使用的是GET我倾向于只构造URL,但是使用POST当我使用的数据参数。

我这样做,因为它更接近我是如何的jQuery做之前Ajax调用,当我说的一切我自己。

1

没有理由我能想到的,为什么人会建立他们的手,除非他们不知道,如果有超过1个或2参数的数据参数,它也更清洁,让他们分开,所以如果您通过具有循环数据对象,并可能修改一些你只需要遍历对象的值,而不是手动解析字符串。

1

如果让jQuery的到适当的格式化字符串你串联数据...

  1. 避免重复代码...
  2. 避免担心逃避数据传输...
  3. 可以得到和未来POST请求之间轻松切换...

真的,不要使用数据参数的唯一论点是,如果你已经有了一个concatenat数据ed格式。