POST网址中的参数

时间:2013-10-09 07:38:15

标签: jquery http post

假设您有以下网址用于POST,

url="http://www.example.com/processor?param1=val1&param=val2"
url2="http://www.example.com/processor"

假设您正在使用Jquery发送POST请求。

$.post(url,{},function(){});

与...不同,

$.post(url2,{"param1":"val1","param2":"val2"},function(){});

你能做点什么,

$.post(url1,{"param1":"val1","param2":"val2"},function(){});

在POST URL中使用参数(如上面的url(不是url2))是一个好习惯吗?

3 个答案:

答案 0 :(得分:2)

区别在于处理后端的变量。

在url1中,参数作为GET变量发送,在url2中,与post()结合,参数作为POST变量发送。

我使用组合,因此您可以互换使用它们。一般规则是使用GET发送“指令”类型数据,并发送POST以发送“用户数据”以进行数据操作。例如

url="http://www.example.com/look_for_product?product_type=monitors&supplier=dell"

比较
$.post('http://www.example.com/place_order;,{"product_type":"monitor","supplier":"dell"}.

您也可以使用组合

$.post('http://www.example.com/place_order?product_type=monitors&supplier=dell;,{"colour":"black","quantity":"3"}.

答案 1 :(得分:1)

这取决于您需要页面执行的任务:

  • 如果您创建用户注册脚本,则最好使用POST参数,因此它们对用户不可见。 (因为他们通常很多)
  • 如果您创建了一些搜索脚本,那么最好使用GET参数,因为您以后可能需要直接提供热链接到该搜索或像这样的事情......

另外,如果我是你,我会使用jQuery.ajax()它提供更可定制的界面。您可以像这样使用它:

$.ajax({
      type: "POST",
      url: "processor",
      dataType: "json",
      data: { param1: "val1", param2: "val2" }
    }).success(function( receivedValue ) {
         //some code
    }).error(function() {
         //some error handling
    });

正如其他人在这里所说,我没有看到任何组合GET和POST参数的原因。这会让事情变得更复杂。

答案 2 :(得分:1)

试试这样:

$.ajax({
    type: 'POST',   
    url: 'http://www.example.com/processor',
    data: { 
        'param1': 'val1', 
        'param2': 'val2' 
    },
    success: function(msg){
        alert('wow' + msg);
    }
})