Php 如何使用Ajax发送变量?
我试图用Ajax和PHP上传文件,但问题是我无法发送包含文件夹id的输入类型文本 这是我的HTML:Php 如何使用Ajax发送变量?,php,jquery,ajax,Php,Jquery,Ajax,我试图用Ajax和PHP上传文件,但问题是我无法发送包含文件夹id的输入类型文本 这是我的HTML: <form method="post" enctype="multipart/form-data" action="uploadify.php"> <input type="file" name="images" id="images" multiple /> <input type="hidden" name="eid" valu
<form method="post" enctype="multipart/form-data" action="uploadify.php">
<input type="file" name="images" id="images" multiple />
<input type="hidden" name="eid" value="<?php echo $eid;?>" />
<input type="btn submit" id="btn" value="Upload" />
</form>
<div id="response"></div>
<ul id="image-list">
</ul>
给输入字段一个id,从表单中获取id,因此您可以获取与id对应的值:
<input id='theEIdGuy' type="hidden" name="eid" value="<?php echo $eid;?>" />
使用
使用原始javascript,您可以得到如下结果(但如果您只在PHP中需要它,则不必这样做):
使用jQuery可以得到如下结果:
var theEIDGuy = $('#theEIdGuy').val();
这些天我面临着同样的问题。。。解决方案比您想象的更简单:)
更改此项:
if (formdata) {
formdata.append("images[]", file);
}
与:
对我来说,使用Jquery/Ajax更简单。。编码更少,更干净。我试着迅速调整它以满足你的需要
$(document).ready(function() {
$('#images').change(function(){
var variable_eid = $('#eid').val();
var data;
data = new FormData();
data.append( 'images', $('#file')[0].files[0] );
data.append( 'eid', variable_eid);
$.ajax({
url: 'uploadify.php',
data:data,
processData: false,
contentType: false,
type: 'POST',
success: function ( data ) {
$('#response').html(data);
}
});
});
});
a) 从更简单的东西开始,比如文本,而不是文件。b) 你甚至没有使用jQuery,试试吧,它会让事情变得更简单,如果你想的话,你可以使用纯JavaScript。c) 不要使用表单如果你要使用AJAX,AJAX的美妙之处在于你不需要表单,你只需要输入字段和按钮就可以收听。@Jonast92我知道它不需要表单,我知道如何只发送文本字段。。这就是我在Netuts上找到的功能,但唯一缺少的是我无法发送eid字段?如果我能够使用此功能发布该字段,我的图库将完成。请查看我的答案。此外,IE9和一些移动浏览器不支持formData,您可能只需要使用一个对象。尝试你的建议太好了。让我知道它是如何进行的。我不知道我将在哪里包括这个代码`$theEIDGuy=isset($\u POST['theEIDGuy'])$_POST['theEIdGuy']:“”;而不是$eid=$_POST['eid'];那么这就不可能是真正的问题了,告诉我$eid转换成的值。
$eid = isset($_POST['theEIdGuy']) ? $_POST['theEIdGuy'] : "It's not set :(";
var theEIdGuy = document.getElementById('theEIdGuy').value;
var theEIDGuy = $('#theEIdGuy').val();
if (formdata) {
formdata.append("images[]", file);
}
if (formdata) {
var variable_eid = document.getElementById("eid");
formdata.append("images[]", file);
formdata.append("eid", variable_eid);
}
$(document).ready(function() {
$('#images').change(function(){
var variable_eid = $('#eid').val();
var data;
data = new FormData();
data.append( 'images', $('#file')[0].files[0] );
data.append( 'eid', variable_eid);
$.ajax({
url: 'uploadify.php',
data:data,
processData: false,
contentType: false,
type: 'POST',
success: function ( data ) {
$('#response').html(data);
}
});
});
});