我对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变量的末尾添加它。或者如果我正在向后推进这个... 三江源!
答案 0 :(得分:1)
您无法通过AJAX上传文件。
'somefield=somevalue&otherField=othervalue'
是你想要提交多个key = value对的。
然而, 使用jQuery或其他框架 如果你要做AJAX - 否则你需要自己处理url转义等(使用{{ 1}}而不是escape(value)
),你的代码看起来更加丑陋。
答案 1 :(得分:0)
让它发挥作用:
in html:
return ajaxSubmit(this, $phpvariable)
在jscript中:
function songUploadSubmit(thisform, otherdata)
submitdata = "data1=" + thisform.elements['data1'].value + "&data2=" + otherdata;
然后我可以在php文件中同时使用_Post。
总的来说,基本上缺少一些我认为可能存在的基本面。传递多个参数。