Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法使用ajax、php和jquery提交表单_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 无法使用ajax、php和jquery提交表单

Javascript 无法使用ajax、php和jquery提交表单,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在尝试使用ajax提交表单。在后端部分,我试图打印fname、location和image的值,以检查数据是否到达那里 但是当我尝试执行console.log来检查响应时,我得到以下消息 对于数据字符串 filename=girl.jpgfname=johnlocation=Richmond,Virginia 为fname 严重性:通知消息:未定义索引:fname 为了形象 没有回应 我无法在后端获取数据,有人能帮我吗 形式 表格中选定的值为: 文件名=girl.jpg 名字fname=Jo

我正在尝试使用ajax提交表单。在后端部分,我试图打印fname、location和image的值,以检查数据是否到达那里

但是当我尝试执行console.log来检查响应时,我得到以下消息

对于数据字符串

filename=girl.jpgfname=johnlocation=Richmond,Virginia

为fname

严重性:通知消息:未定义索引:fname

为了形象

没有回应

我无法在后端获取数据,有人能帮我吗

形式

表格中选定的值为:

文件名=girl.jpg

名字fname=John

我从位置下拉列表中选择的值=弗吉尼亚州里士满

仅用于图像,请保留此项

var filename = $('input[type=file]').val()

由于codeignitor将仅显示控制器中的名称,因此无需更换,否则ci将无法找到路径

问题在于您的

dataString
您可以这样做:

var dataString='filename=' + filename + '|fname=' + fname + '|location=' + location;
因此,当您在后端php中接收数据字符串时,可以使用以下方法拆分数据字符串:

$dataString=explode('|',  $dataReceived);
因此,您可以通过以下操作获得每个零件:

$filename=$dataString[0]; 
$fname=$dataString[1];
$location=$dataString[2];

希望对您有所帮助

您的数据字符串必须是JavaScript对象

  var data = {filename: filename, fname: fname, location: location};

像这样使用ajax并检查已获取的值,但图像仍然未获取当我尝试在后端回显名称时,它会将文件名的值打印为C:\fakepath\girl.jpg是否正确?我得到这个结果,文件没有上传是的,这是正确的,如果它没有上传,你需要检查你的上传代码。你可以看看上传代码,我真的无法理解我哪里出错了,这是说,我没有上传任何文件重构您的参数到jsonon在您的后端页面更改此代码$returnres['img_name']=$data['file-input']$returnres['fname']=$_POST['fname'];echo json_编码$returnres
var dataString='filename=' + filename + '|fname=' + fname + '|location=' + location;
$dataString=explode('|',  $dataReceived);
$filename=$dataString[0]; 
$fname=$dataString[1];
$location=$dataString[2];
  var data = {filename: filename, fname: fname, location: location};