0

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

$('#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 = "/";
    });
});

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

问题是图片参数并不是一直都通过,一次是,另一次不是,随机...

4

1 回答 1

0

您没有正确编码您的请求参数。确保使用以下encodeURIComponent函数对它们进行 url 编码:

$('#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']

于 2012-06-15T21:30:15.990 回答