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 = "/";
    });
});

私がやろうとしているのは、phpページに、フォーム入力とpicという名前の画像のsrcを持ついくつかのgetパラメーターを渡すことです。

問題は、pic paramが常に渡されるわけではなく、1回は渡され、もう1回は渡されないということです...

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 = "/";
    });
});

$_GET['pic']これで、phpスクリプトで、$_GET['action']and then $_POST['someFormElementName'](フォーム要素用)を使用できるようになります。

于 2012-06-15T21:30:15.990 に答える