帮助在ajax php中发送多个参数?

时间:2010-12-04 23:23:10

标签: javascript ajax argument-passing

我对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 个答案:

答案 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。

总的来说,基本上缺少一些我认为可能存在的基本面。传递多个参数。