php - jQuery+PHP。请求/响应

标签 php jquery html ajax

我会寻找解决方案,但我不知道我到底要搜索什么。

任务是抓取 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/

相关文章:

php - PHP 中的另一个简单的 "if-else"表单?

php - 如何获取表单的名称 - Symfony2

javascript - 单击一个 Accordion 时,多个 Bootstrap Accordion 会折叠其他 Accordion

javascript - 如何解决错误的 jQuery 动画

html - 链接无法在导航栏中显示

php - 如何使用 mailgun 批量发送带附件的邮件?

php - symfony2/教义 2/Mysql : null values saved as empty strings

javascript - onLoad 和 .load() 函数中的图像宽度始终为 0

javascript - 货币转换——用 angularjs 改变一个元素的位置

php - 页眉和页脚在单独的 .php 中,当前页面突出显示