jquery序列化,获取参数和图像

时间:2012-06-15 21:25:46

标签: php jquery ajax serialization get

好的,这个很奇怪,我有这个代码:

$('#nps').submit(function(e) {
    e.preventDefault();
    var images = 'pic='+$('img[name="pic"]').attr('src');
    var inputs = $(this).serialize();
    $.ajax({
      url: "pages/"+page+".php?"+inputs+'&'+images+'&action='+param,
      cache: false
    }).done(function( html ) {
        update(html);
    }).fail(function (){
        window.location = "/";
    });
});

我要做的是传递给php页面一些获取带有表单输入的参数和一个名为pic的图像的src。

问题是pic参数不会一直传递,有一次它是另一个,而另一个不是,randomally ......

1 个答案:

答案 0 :(得分:0)

您没有正确编码请求参数。确保使用encodeURIComponent函数对其进行网址编码:

$('#nps').submit(function(e) {
    e.preventDefault();
    var images = encodeURIComponent($('img[name="pic"]').attr('src'));
    var inputs = $(this).serialize();
    $.ajax({
        url: 'pages/' + page + '.php?pic=' + images + '&action=' + encodeURIComponent(param),
        type: 'POST',
        data: inputs,
        cache: false
    }).done(function( html ) {
        update(html);
    }).fail(function (){
        window.location = "/";
    });
});

现在,在您的PHP脚本中,您将可以使用$_GET['pic']$_GET['action'],然后使用$_POST['someFormElementName'](表单元素)。