php - Ajax 不会在数据库中输入数据
问题描述
我正在尝试将表单中的数据输入数据库。该表单工作正常,但是当我尝试使用 Ajax 将数据传输到 php 脚本以进行数据库插入时,不会发送 JSON。如果我直接在php脚本中插入一个包含JSON的var,就成功了。所以我知道 JSON 格式正确。表单中的jquery是
$("#up").click (function(e){
e.preventDefault()
theurl="ajaxPHPup.php";
var formdata = JSON.stringify($("#theForm").serializeArray());
console.log(formdata);
$.ajax({
type: "POST",
url: theurl,
data: formdata,
dataType: "html",
contentType : "application/json; charset=utf-8",
success: function(data){
$('#feedback').html(data);
console.log('submitted data:');
console.log(data);
}
});
});
php脚本是
<?php
session_start();
error_reporting (E-ALL);
require_once('dbaccess.php');
$getLayout = $fm->getLayout('ajaxtest');
$getFields = $getLayout->listFields();
$formdata = $_POST['formdata'];
//$formdata = '[{"name":"one","value":"11"},{"name":"two","value":"22"},{"name":"three","value":"33"},{"name":"four","value":"44"},{"name":"five","value":"55"}]';
$formdecode = json_decode($formdata, true);
$getdbData = $fm->newFindAllCommand('ajaxtest');
$gotdbData = $getdbData->execute();
if(FileMaker::isError($gotdbData)){
echo 'ERROR - ' . $gotdbData->getCode() . ' ' . $gotdbData->getMessage();
exit;
}
$record = $gotdbData->getFirstRecord();
$recID = $record->getRecordID();
//echo 'record id = ' . $recID . '<br>';
$feedback = '';
$change = $fm->newEditCommand('ajaxtest',$recID);
foreach($formdecode as $index){
$change->setField($index['name'], $index['value']);
$feedback .=$index['name'] . ' => ' . $index['value'] . '<br>';
}
$change->execute();
if(FileMaker::isError($change)){
echo 'ERROR - ' . $change->getCode() . ' ' . $change->getMessage();
exit;
}
echo $feedback;
?>
成功例程返回的反馈是一个空字符串。看起来问题出在函数调用中,但我无法确定它到底是什么。
解决方案
推荐阅读
- python - 当我将 lambda 函数保存在数组中并按位置调用它们时,它总是调用最后一个函数?
- apache-spark - 如何避免连接中的键列名称重复?
- google-chrome - Chrome:凭据管理 API 中介:“静默”确实返回 null、未定义
- c# - 如何将预制件实例化到您碰撞的对象的一侧?
- r - R mlr3 TaskClassif 'termlabels' 必须是长度至少为 1 的字符向量
- android - 更改方向/配置重置运动布局以启动约束集
- javascript - 如果滚动超过 10 次,我的导航栏会自动关闭
- r - 如何使用另一个变量的条件重新编码变量中的类别
- javascript - 历史反应路由器在类组件中不起作用
- r - 根据不同列的不同条件过滤结果