我正在使用post and get methods进行Ajax调用,并且有一个普遍的问题。我见过人们在网上使用的方法有两种:
这两种方法都有效。我把它们包括在下面:
// 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);
是否有任何情况下您需要手动构建网址和参数,而不是使用内置的数据参数?一种方法相对于另一种方法的任何优点?
答案 0 :(得分:4)
我认为数据方法更好,因为它使流程正式化并减少了在构建字符串时产生错误的几率。此外,JQuery库将为您完成字符串构建,因此它的工作量基本相同。
答案 1 :(得分:1)
没有理由我可以想到为什么人们会手工构建它们,除非他们不知道数据参数是否有超过1或2个参数,它们也更清晰,以保持它们分开所以如果你必须循环通过数据对象,并可能修改您只是在对象上迭代的一些值,而不是手动解析字符串。
答案 2 :(得分:1)
如果你让jQuery将数据连接到适当格式化的字符串中......
实际上,使用data参数的唯一参数是你是否已经拥有连续格式的数据。
答案 3 :(得分:0)
如果我正在使用GET,我倾向于构建URL,但在使用POST时我使用数据参数。
我这样做是因为它更接近于我在jQuery之前进行ajax调用的方式,当我自己编写所有内容时。