我会寻找解决方案,但我不知道我到底要搜索什么。
任务是抓取 html 文件中带有 ID (#ftext_1,..._2,..._3,..._4) 的文本并将它们发送到 php 文件。对 php 文件中的文本进行一些操作后,我必须将它们插入到 html 文件中的 ID 中。 这是代码:
var text_1_Replace = $('#ftext_1').text();
var text_2_Replace = $('#ftext_2').text();
var text_3_Replace = $('#ftext_3').text();
var text_4_Replace = $('#ftext_4').text();
$('#ID').on('click', function(){
var text= {
ftext_1: text_1_Replace,
ftext_2: text_2_Replace,
ftext_3: text_3_Replace,
ftext_4: text_4_Replace
}
var targetFile = 'ajax/file.php';
$.ajax({
method: 'post',
url: targetFile ,
data: JSON.stringify(text),
contentType: 'application/JSON'
}).done(function(data) {
console.log(data);
});
});
如何编辑 .done 函数以将新文本放置在旧 ID 中(#ftext_1,..._2,..._3,..._4)?文本数组的变量是 $result。
所以答案是:
}).done(function(data) {
var text = JSON.parse(data);
var text1 = text.ftext_1;
var text2 = text.ftext_2;
var text3 = text.ftext_3;
var text4 = text.ftext_4;
$('#ftext_1').text(text1);
$('#ftext_2').text(text2);
$('#ftext_3').text(text3);
$('#ftext_4').text(text4);
所以,该主题的最后更新:真正好的答案是:
.done(function(data) {
var text = JSON.parse(data);
$.each(text, function(i, val){
$("#" + i).text(val);
});
这段代码是我在本主题中的问题的解决方案。谢谢大家回复!
最佳答案
最适合您的是发送如下所示的命名属性
$.ajax({
method: 'post',
url: targetFile ,
data: {data: text},
dataType: "json",
success: function(response){
$.each(response, function(element){
$("#"+element.name).text(element.text);
});
}
});
然后在你的 php 中你可以轻松地迭代帖子中的数据
<?php
$data = $_POST['data'];
$response = [
];
foreach($data as $elementName => $text){
// some text management
$response[] = ['name' => $elementName, 'text' => $text];
}
return json_encode($response);
关于php - jQuery+PHP。请求/响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42114960/