Помогите отправить несколько аргументов в PHP Ajax? - PullRequest
0 голосов
/ 05 декабря 2010

У меня довольно ограниченный опыт работы с AJAX и javascript, так что, надеюсь, это проще, чем для меня.Я создаю простую форму загрузки, просто отправляю данные из формы и затем в js, а затем отправляю это php.в основном в html (который генерируется со страницы php):

<form id="form" method="post" onsubmit="return ajaxSubmit(this)" action="#">
<input name="data1" type="file"/>
<input type="submit" value="Go"/>

и js:

function ajaxSubmit(thisform) { 
    results=GetXmlHttpObject();
    var submitdata ="";
    submitdata = "uploadfile=" + thisform.elements['data1'].value
results.onreadystatechange=uploadResult; 
    results.open("POST", "./functions/upload.php",true);
    results.send(formdata);

(я вырезал часть кода, чтобы сделать его короче) Мне нужно также отправить переменную php через, так что я представляю, что мог бы написать вызов функции как onsubmit = "return songUploadSubmit (this,". $ Phpvariable. "), Но я не знаю, как вытащить его из JavaScriptконец. Мне нужно знать, просто думаю, как вытащить переменную $ phpvariable и добавить ее в конец переменной submitdata. Или, если я собираюсь сделать это в обратном направлении ... Спасибо!

Ответы [ 2 ]

1 голос
/ 05 декабря 2010

Вы не можете загружать файлы через AJAX.

'somefield=somevalue&otherField=othervalue' - это то, что вы хотите отправить, хотя несколько пар ключ = значение.

Однако, используйте jQuery или другой фреймворк , если вы собираетесь использовать AJAX - в противном случае вам нужно самостоятельно позаботиться о экранировании URL и т. Д. (Используйте escape(value) вместо value), и ваш код выглядитгораздо страшнее.

0 голосов
/ 05 декабря 2010

Получил это для работы:

в html:

 return ajaxSubmit(this, $phpvariable)

в jscript:

function songUploadSubmit(thisform, otherdata)
submitdata = "data1=" + thisform.elements['data1'].value + "&data2=" + otherdata;

тогда я могу получить оба с _Post в файле php.

В целом, просто отсутствуют основные принципы, как я подозревал.Передача нескольких аргументов.

...