PHP получить скрытую переменную из AJAX Image Uploader - PullRequest
2 голосов
/ 19 сентября 2011

Я использую этот сценарий AJAX Image Uploader, и я пытаюсь передать скрытую переменную.

<input type="hidden" name="test" value="test" />

Но поскольку кнопки реального отправки нет, этовсе на основе AJAX, я не могу просто позвонить $_POST['test'];

Часть jQuery:

if (formdata) {  
    $.ajax({  
        url: "upload.php",  
        type: "POST",  
        data: formdata,  
        processData: false,  
        contentType: false,  
        success: function (res) {  
            document.getElementById("response").innerHTML = res;  
        }  
    });  
}  

Вероятно, он должен куда-то идти, но я не уверен, как к этому подойти.Если у кого-то есть какие-либо предложения, я буду очень признателен.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 19 сентября 2011

Попробуйте: просто дайте вашему скрытому входному идентификатору идентификатор, чтобы мы могли обратиться к нему и получить значение.В этом случае я использовал hidden_input.

if (formdata) { 
    //New line is below!
    formdata.append("test",$('#hidden_input').val());
    $.ajax({  
        url: "upload.php",  
        type: "POST",  
        data: formdata,  
        processData: false,  
        contentType: false,  
        success: function (res) {  
            document.getElementById("response").innerHTML = res;  
        }  
    });  
}

Тогда ваш upload.php сможет получить доступ к значению с помощью $_POST['test']

3 голосов
/ 19 сентября 2011

Но поскольку кнопки реального отправки нет, она полностью основана на AJAX, я не могу просто вызвать $ _POST ['test'];

Конечно, вы можете. AJAX может отправить любой заголовок в параметре type. Если вы поставите type:'post', как сейчас, поле с name="test" будет доступно через $_POST['test']

У вас может быть любое событие, вызывающее ajax, включая загрузку страницы.

$('somenode').bind('someevent',function(){

Итак, допустим, вы хотите, чтобы ajax отправлял сообщения каждый раз при изменении значения поля:

$('input').change(function(){
    $.ajax({  
        url: "upload.php",  
        type: "POST",  
        data: formdata,  
        processData: false,  
        contentType: false,  
        success: function (res) {  
            $('#response').html(res);  
        }  
    });  
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...