【问题标题】:I can't pull data other than input with ajax除了使用 ajax 输入之外,我无法提取数据
【发布时间】:2020-03-30 21:49:07
【问题描述】:

我有一个用 Ajax 打开的模式,我可以从数据库中提取信息。我的问题是:我只能将数据拉入输入。任何 div、p 标签或 ckeditor 等。我无法将数据拉入其中。我能做些什么呢?与此同时,我从数据库中提取数据没有问题。我可以拉数据。我在看控制台。但我只能把它拉到输入中。

index.php

      <div class="modal fade edit" id="edit-modal">
            <div class="modal-dialog modal-lg" role="document">
                <div class="modal-content">
                    <div class="modal-header">
                        <h5 class="modal-title pl-3" id="exampleModalScrollableTitle">Edit Test</h5>
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                            <span aria-hidden="true" class="text-white">&times;</span>
                        </button>
                    </div>
                    <form method="post" id="frmedit" enctype="multipart/form-data">
                        <div class="modal-body pre-scrollable">
                            <input type="text" name="id" id="id" class="form-control">
                            <p id="asd"></p>
                            <div class="form-group form-float mt-3">
                                <div class="form-line">
                                    <input type="text" class="form-control" name="title" id="title">
                                    <label class="form-label">Title</label>
                                </div>
                            </div>
                            <div class="form-group form-float">
                                <label class="form-label">CKeditor</label>
                                <textarea name="test1"></textarea>
                            </div>
                        </div>
                        <div class="modal-footer">
                            <button type="button" class="btn bg-grey waves-effect" data dismiss="modal">Close</button>
                            <input type="submit" id="update" class="btn bg-purple waves-effect" value="Save">
                        </div>
                    </form>
                </div>
            </div>
        </div>


        <script type="text/javascript">
            $(document).ready(function () {
                $(document).on('click' , '.bn-edit' ,function(){
                    var id = this.id;
                    console.log("id:"+id+",type:test");
                    $.ajax({
                        type: "GET",
                        url: "read.php?id="+id+"&type=test",
                        success:function(response){
                            $("#edit-modal").modal('show');
                            $.each(response, function(key, value) {
                                console.log("key:"+key+",value:"+value);
                            })
                            $("#title").val(title);
                            $("#test1").html(test1);
                            $("#asd").val(asd);
                            $("#id").val(id);
                        }
                    });
                });
            });

            function loaddata() {
                $.ajax({
                    url: 'read.php',
                    type: 'post',
                    data: {"type":"test_all"},
                    success:function(response){
                        $("#container").html(response);
                    }
                });
            }
            $(function () {
             CKEDITOR.replace('test1');
             CKEDITOR.config.height = 125;
            });        

read.php:

 $id = $_REQUEST["id"];

    switch($_REQUEST["type"]) {

        case "test":
            if(isset($_REQUEST["id"])) {
                $result = $conn->read("test", " id='$id' ", "", "", "");
                if(!empty($result)) {
                    $responseArray["title"] = $result[0]["title"];
                    $responseArray["asd"] = $result[0]["asd"];
                    $responseArray["test1"] = $result[0]["test1"];
                    $responseArray["id"] = $result[0]["id"];

                    echo json_encode($responseArray);
                }
            }
            break;


        case "test_all":
            $result = $conn->verioku("id,title,asd", "test", "id");
            break;


        default:
            break;
    }

【问题讨论】:

  • .val() 仅用于输入。对于其他元素,请使用.text()
  • @Barmar 请找一个副本来锤击。
  • 你在哪里设置变量titleasd
  • 我们不知道 $conn-&gt;read 的确切作用,但看起来您的查询几乎肯定容易受到 SQL 注入攻击。
  • 变量title和asd在哪里设置? $("#title").val(title);$("#asd").val(asd); =>我在这里发布ID。 $responseArray["title"] = $result[0]["title"];$responseArray["asd"] = $result[0]["asd"]; => 我在这里拉数据

标签: php json ajax input


【解决方案1】:

问题解决了。我只添加了这段代码: CKEDITOR.instances.ic_ozet.setData(response.ic_ozet); 非常感谢您的 cmets。

$(document).on('click' , '.bn-edit' ,function(){
                    var id = this.id;
                    console.log("id:"+id+",type:test");
                    $.ajax({
                        type: "GET",
                        url: "read.php?id="+id+"&type=test",
                        success:function(response){
                            $("#edit-modal").modal('show');
                            $.each(response, function(key, value) {
                                console.log("key:"+key+",value:"+value);
                            })
                            $("#title").val(title);
                            CKEDITOR.instances.test1.setData(response.test1);
                            $("#asd").html(asd);
                            $("#id").val(id);
                        }
                    });
                });

【讨论】:

  • $("#asd").val(asd); 仍然不会做任何事情。
  • 非常感谢您的评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-06
  • 2018-04-24
  • 2023-03-28
  • 2021-11-13
  • 2019-10-30
相关资源
最近更新 更多