【发布时间】:2017-05-10 16:34:41
【问题描述】:
这是我的 HTML 代码:
<div class="col-sm-6">
<div class="form-group">
<select id="horseDiscipline" name="horseDiscipline[]" class="form-control selectpicker" multiple>
<?php
foreach($possibleDiscipline as $disciplineChoice)
{
?>
<option value="<?php echo htmlspecialchars($disciplineChoice['disciplineName']) ; ?>"><?php echo htmlspecialchars($disciplineChoice['disciplineName']) ; ?></option>
<?php
}
?>
</select>
</div>
</div>
<!--Rest of form-->
这是我的 jquery 代码:
var formData = new FormData($('#addForm')[0]);
$('#addButton').text('Création...');
$.ajax({
url: 'AJAXFOLDER/ajaxAddHorse',
type: 'post',
data: formData,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function(data) {
alert(data);
},
});
这是我的 PHP 代码(ajaxAddHorse.php):
<?php
//Récupération des disciplines du cheval
$disciplines = "";
$disciplinesTemp = explode(",", $_POST['horseDiscipline']);
foreach ($disciplinesTemp as $names)
{
$disciplines = $disciplines + ' / ' + $names;
}
echo json_encode($disciplines);
这是我执行代码时得到的结果:
如果我像这样更改我的 PHP 文件:
<?php
//Récupération des disciplines du cheval
echo json_encode($_POST['horseDiscipline']);
这是我得到的:
那么为什么explode 功能在这里不起作用呢? “,”是我们在第二张图片中看到的单词之间的分隔符。但是,当我尝试explode函数时,应该包含这些单词的变量是空的......
感谢您的帮助。
【问题讨论】:
-
在您的分解函数中执行
var_dump或$disciplinesTemp -
您能告诉我们代码中
var_dump($_POST['horseDiscipline']);exit;的输出是什么吗?检查控制台的输出并粘贴到您的问题中。也可以使用console.log(data);而不是alert(data); -
你应该使用
console.log(var)而不是alert(var) -
您所拥有的似乎不是有效的
json -
在 php 中,您使用
.而不是+进行连接
标签: php jquery html ajax bootstrap-multiselect