使用Jquery Post方法传递查询字符串

时间:2013-12-30 07:29:51

标签: jquery ajax post

我想在我的URL中使用查询字符串,使用下面的Jquery ajax是我的代码:

function load_content()
    {
        var msg=$(".message_box:last").attr("id");
        var baseurl = $("#baseurl").val();
        var ids = msg.split('-');
        var url = baseurl+"shops/load_allshops/"+{/literal}{php} if($_GET['country']!=''){ echo "?country=".$_GET['country']."&state=".$_GET['country']."&city=".$_GET['city']."&area=".$_GET['area'];}{/php}{literal};

        $.post(url, {start: ids[0], limit: ids[1]},
        function(data){
            if (data != "") {
                $(".message_box:last").after(data);
            }
            $('.last_msg_loader').fadeOut();
            });
        };

错误:

 SyntaxError: syntax error


...url = baseurl+"shops/load_allshops/"+?country=India&state=India&city=Madurai&are...

指向+?国家/地区

请告诉我错误

3 个答案:

答案 0 :(得分:2)

最终,POST请求也可以包含查询字符串,但通常情况下不会。

带有POST操作的标准HTML表单不包含查询字符串,因此您需要将操作类型更改为GET或通过隐藏字段发送数据。

答案 1 :(得分:0)

你的网址必须是这样的......

  ...url = baseurl+"shops/load_allshops/?country="+ India + "&state="+India+"&city="+ Madurai+"&are..."

答案 2 :(得分:0)

尝试使用数组:

function load_content(){
//Your vars
var data=new Array();

//Just do some vars to get their value...
data[0]=$('#country').val();
data[1]=$('#city').val();
data[2]=$('#area').val();

//Forget to split or vars for url...

var data={"data":data};
$.post('getdata.php',data,function(data){
//And show php answer here...
alert(data);
});
return false;

}

getdata.php的例子

<?php
$data=$_POST['data'];
echo "Country: $data[0]";
echo "City: $data[1]";
echo "Area: $data[2]";
?>

数组非常有用。玩得开心!