gpt4 book ai didi

javascript - 如何在 yii2 中使用 $.post() 发送请求并将数据添加到数据库

转载 作者:行者123 更新时间:2023-11-28 05:51:08 25 4
gpt4 key购买 nike

我想实现类似下面代码的功能。只是代码正在从数据库发出请求,我想将请求发送到数据库

$.post( "/trobay/categories/default/lists?parent_id="+$(this).val(), function( data ) {

如何发送添加属性名称和属性值的请求以保存在数据库中下面是我已经有了的代码

    <?php
$script = <<< JS
$(document).ready(function(){
//setup before functions
var typingTimer;
var doneTypingInterval = 3000;
var \$TitleInput = $('#product-product_title');

//on keyup, start the countdown

\$TitleInput.on('keyup input change paste',function(){
clearTimeout(typingTimer);
if (\$TitleInput.val()) {
typingTimer = setTimeout(doneTyping, doneTypingInterval);
}
});



//user is "finished typing," do something
function doneTyping () {

data = \$TitleInput.val();

$.ajax({
url: '/trobay/draft/create',
type: 'POST',
data: data,
success: function (data) {
alert(data)
},
error: function(jqXHR, errMsg) {
// handle error
alert(errMsg);
}
});


}

});
JS;
$this->registerJs($script);
?>

在我的 Controller 中我有这个

public function actionCreate()
{
$model = new Draft();

if ($model->load(Yii::$app->request->post())) {
$model->created_at = \time();
if($model->save()){
return draftId;
}else{
return '0';
}

} else {
return $this->render('create', [
'model' => $model,
]);
}
}

在我看来我有这个

<?php $form = ActiveForm::begin(['id'=>$model->formName(),
'enableClientValidation'=> true,
'fieldConfig' => ['template' => '{label}{input}{hint}']]); ?>
<div class="row">
<div class="col-md-12">
<?= $form->field($model, 'product_title')->textInput([
'class'=>'title-input',
'placeholder' => 'Give us a title for your items(include size,brand,color,material. e.t.c)',
])->label(false) ?>
</div>
<div class="col-md-12 text-muted">
E.g Men's blue addidas glide running shoes size 11
</div>
</div>
<?= $form->field($model, 'user_id')->textInput() ?>

<?= $form->field($model, 'product_title')->textInput(['maxlength' => true]) ?>

<?= $form->field($model, 'product_name')->textInput(['maxlength' => true]) ?>

<?= $form->field($model, 'product_description')->textarea(['rows' => 6]) ?>

<?= $form->field($model, 'category_id')->textInput() ?>

现在我的问题是我只想获取每个字段输入的值并将其发送到服务器端以保存在数据库中,而无需提交整个表单about JS 代码足以获取该值,但我如何将其发送到服务器进行保存

最佳答案

    //user is "finished typing," do something
function doneTyping () {
data = \$TitleInput.val();
$.ajax({
url: '/trobay/draft/create',
type: 'POST',
data: {title: data}
success: function (data) {
alert(data)
},
error: function(jqXHR, errMsg) {
// handle error
alert(errMsg);
}
});
});

如果您需要发送更多键值,只需将它们添加为逗号分隔值,例如

data: {title: data, attr:"value"} 

依此类推...您可以在 Controller 中接收该值作为 post 参数。

关于javascript - 如何在 yii2 中使用 $.post() 发送请求并将数据添加到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38068063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com