jQuery的+ PHP。请求/响应

时间:2017-02-08 13:50:43

标签: 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);
        });

此代码是本主题中我的问题的解决方案。谢谢大家,谁回复了!

2 个答案:

答案 0 :(得分:2)

最好的方法是发送看起来像这样的命名属性

=TRIM(IFERROR(SUBSTITUTE(A1,INDEX($E$1:$E$3,MATCH(TRUE,ISNUMBER(SEARCH($E$1:$E$3,A1)),0)),""),A1))

然后在你的php中你可以很容易地从帖子

迭代数据
=IFERROR(INDEX($E$1:$E$3,MATCH(TRUE,ISNUMBER(SEARCH($E$1:$E$3,A1)),0)),"")

答案 1 :(得分:1)

当您在php中更改收到的值时,将它们放在一个数组中以便您 以后可以轻松打电话

PHP

$values = array("one"=>5,
                "two"=>"something",
                "three"=>$something);
echo json_encode($values);

您需要添加

dataType:'json' 
因为你正在返回json

,所以在Jquery中

JQuery的

$.ajax({
    method: 'post',
    url: targetFile ,
    data: JSON.stringify(text), # or data: {"value1":value,"value2":value2},
    contentType: 'application/JSON',
    dataType:'json',
    success: function(response){
        console.log(response.one); #Will console 5
        console.log(response.two); #Will console "something"
        console.log(response.three); #Will console whatever $something holds in php
  }
  });

你可以随意调用它(响应)或(mydata)...... 然后你只需输入response.yourdata(你在php中声明)