【发布时间】:2014-12-30 00:40:04
【问题描述】:
<!DOCTYPE HTML>
<html>
<head>
<title>Test</title>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<form>
<label>Seleziona l'ente</label>
<select name="data" id="data">
<option value="PRO - 011142764">COMUNE DI AGLIE'</option>
<option value="PRO - 011120674">COMUNE DI AGRATE CONTURBIA</option>
</select>
<input type="text" name="textfield" id="textfield" />
</form>
<script>
$('#data').change(function() {
$.post("richiesta.php", { value: this.value });
$('#textfield').val(this.value);
});
</script>
</body>
</html>
这是我的简单网页,有 2 个选项。输入标签仅用于测试 POST 数据。
这是richiesta.php,它接收有关更改事件的 POST 数据(我关注了this 线程):
<?php
list($comparto, $ente) = explode("-", $_POST['data'], 2);
echo "comparto: $comparto, ente: $ente";
?>
当我触发更改事件(来自 Firebug)时,会发生以下情况。 POST 没问题:
不幸的是,响应中有空变量($comparto 和 $ente):
explode/list 函数有什么问题?
【问题讨论】:
-
错行
list($comparto, $ente) = explode("-", $_POST['data'], 2);应该是list($comparto, $ente) = explode("-", $_POST['value'], 2); -
@MudaserAli No. $_POST['data'] 是正确的。 $_POST['data'] 将包含所选选项的值。
-
@Mooseknuckles bro
$.post("richiesta.php", { value: this.value });您正在使用服务器将数据发布到服务器上,您可以使用value访问发布的值如果您想在服务器端访问您发布的数据,请更新 ajax 发布调用通过它到$.post("richiesta.php", { data: this.value });,您将获得$_POST['data']中的发布数据
标签: javascript php jquery arrays explode