【发布时间】:2015-11-23 01:41:01
【问题描述】:
我一直在寻找将数据从我的网络发送到服务器数据库的代码示例或方法。
找到一些选项后,我决定进行 ajax 调用来发送数据。代码是: html:
<form name="form" method="post">
<p> xxxxxx </p>
<input type="text" id="xxxxxx" class="textInput"/>
<p> yyyyyy </p>
<input type="text" id="yyyyyy" class="dateForm" />
<p> zzzzzz </p>
<input type="text" id="zzzzzz" class="dateForm" />
<input type="image" src="img/submit.png" class="addButton" name="Añadir"/>
</form>
jquery 代码:
$(document).on("click", ".addButton", function(){
var json = {"xxxxxx": $("#xxxxx").val(),
"yyyyyy": $("#yyyyyy").val(),
"zzzzzz": $("#zzzzzz").val()};
$.ajax({
type: 'POST',
url: 'scripts/sendData.php',
data: {param1: json},
dataType: 'json',
success: function(data){
}
});
});
和php代码:
<?php
$db = ***connection parameters***;
$c1 = oci_connect(***connection parameters***);
if($c1){
$myJson = json_decode($_POST['param1']);
$xxxxxx= $myJson['xxxxxx'];
$yyyyyy= $myJson['yyyyyy'];
$zzzzzz= $myJson['zzzzzz'];
$sql = "INSERT INTO table (xxxxxx, yyyyyy, zzzzzz) VALUES (:xxxxxx,
to_date(:yyyyyy), to_date(:zzzzzz))";
$stid = oci_parse($c1, $sql);
oci_bind_by_name($stid, ':xxxxxx', $xxxxxx);
oci_bind_by_name($stid, ':yyyyyy', $yyyyyy);
oci_bind_by_name($stid, ':zzzzzz', $zzzzzz);
oci_execute($stid);
oci_free_statement($stid);
oci_close($c1);
}
}
?>
用chrome调试json创建正确,500错误是服务器错误,所以错误一定是在php代码上。连接应该没问题,因为我从服务器正确获取数据。
我已经通过互联网多次更改代码,但仍然无法发送数据:S 谁能告诉错误在哪里?
PD:如果我在 if($c1){ 之前添加一个回显并手动输入 ajax 方法中的 url,我什么也得不到。有什么意思吗?
谢谢和问候
【问题讨论】:
-
php代码在哪里?
-
将
print_r($myJson);的输出添加到您的问题中。 -
只需在表单中使用 action="scripts/sendData.php" 即可。这可能是工作
-
这是您在 PHP 上的全部代码还是一段代码?因为你的代码中有一个额外的大括号。
-
这是整个代码。我可以在服务器中找到日志并且知道我可以看到错误。我正在尝试修复它们。谢谢!