Post Prestashop 表单 Ajax - Tools::getValue()
Post Prestashop Form with Ajax - Tools::getValue()
你好,我想用 ajax 将表单保存到 prestashop 数据库中,但我遇到了一些困难。让我告诉你我的尝试。
HTML 表格:
<form action="" method="POST" class="">
<textarea name="question_content" row="4" class="form-field"></textarea>
<button type="submit" name="saveQuestion" id="question_ajax_save" class="button-standard">Frage abschicken</button>
</form>
JS:
$("#question_ajax_save").click(function(event) {
event.preventDefault();
var question = $("input[name=question_content]").val();
if (question !==''){
$.ajax({
type: 'POST',
url: baseUri + 'modules/genzo_questions/ajax.php',
data: {
save_question: 1,
},
datatype: 'json',
success: function (response) {
response = $.parseJSON(response);
if (response.status === false){
// Do something
}
else {
// Do something
}
}
});
}
});
PHP桥:
if (Tools::getValue('save_question')==1) {
echo json_encode($genzo_question->ajaxSaveQuestion());
}
在我的方法 ajaxSaveQuestion() 中,我想使用 Tools::getValue('question_content')。但它是空的。为什么是这样?我可以用 "data:" 发送它,但在我的方法中我也需要 Tools:getValue('id_product') ,它也是空的。
简而言之:如何将 Tools::getValue('') 与 Ajax Post 一起使用?
您需要将此添加到您的 ajax.php 文件中:
require_once dirname(__FILE__) . '/../../config/config.inc.php';
require_once dirname(__FILE__) . '/../../init.php';
然后您可以使用 prestashop 函数,例如:Tools::getValue('')
我认为您忘记在代码中添加 question_content:
$("#question_ajax_save").click(function(event) {
event.preventDefault();
var question = $("input[name=question_content]").val();
if (question !==''){
$.ajax({
type: 'POST',
url: baseUri + 'modules/genzo_questions/ajax.php',
data: {
save_question: 1,
question_content: question
},
datatype: 'json',
success: function (response) {
response = $.parseJSON(response);
if (response.status === false){
// Do something
}
else {
// Do something
}
}
});
}
});
你好,我想用 ajax 将表单保存到 prestashop 数据库中,但我遇到了一些困难。让我告诉你我的尝试。 HTML 表格:
<form action="" method="POST" class="">
<textarea name="question_content" row="4" class="form-field"></textarea>
<button type="submit" name="saveQuestion" id="question_ajax_save" class="button-standard">Frage abschicken</button>
</form>
JS:
$("#question_ajax_save").click(function(event) {
event.preventDefault();
var question = $("input[name=question_content]").val();
if (question !==''){
$.ajax({
type: 'POST',
url: baseUri + 'modules/genzo_questions/ajax.php',
data: {
save_question: 1,
},
datatype: 'json',
success: function (response) {
response = $.parseJSON(response);
if (response.status === false){
// Do something
}
else {
// Do something
}
}
});
}
});
PHP桥:
if (Tools::getValue('save_question')==1) {
echo json_encode($genzo_question->ajaxSaveQuestion());
}
在我的方法 ajaxSaveQuestion() 中,我想使用 Tools::getValue('question_content')。但它是空的。为什么是这样?我可以用 "data:" 发送它,但在我的方法中我也需要 Tools:getValue('id_product') ,它也是空的。
简而言之:如何将 Tools::getValue('') 与 Ajax Post 一起使用?
您需要将此添加到您的 ajax.php 文件中:
require_once dirname(__FILE__) . '/../../config/config.inc.php';
require_once dirname(__FILE__) . '/../../init.php';
然后您可以使用 prestashop 函数,例如:Tools::getValue('')
我认为您忘记在代码中添加 question_content:
$("#question_ajax_save").click(function(event) {
event.preventDefault();
var question = $("input[name=question_content]").val();
if (question !==''){
$.ajax({
type: 'POST',
url: baseUri + 'modules/genzo_questions/ajax.php',
data: {
save_question: 1,
question_content: question
},
datatype: 'json',
success: function (response) {
response = $.parseJSON(response);
if (response.status === false){
// Do something
}
else {
// Do something
}
}
});
}
});