【问题标题】:send post with ajax用ajax发送帖子
【发布时间】:2021-05-07 14:10:01
【问题描述】:

大家好,我一直在尝试使用 ajax 发送帖子值 这是我的页面:

我有一个带有以下代码的模态 modal_image.php 页面:

var image;
function addImage() {
    $.ajax({
        url:'registration.php',
        data:{image:document.getElementById('output').src},
        type:'POST',
        success:function (data){
            if(!data.error){
                document.getElementById('userImage').src=document.getElementById('output').src;
                image=document.getElementById('userImage').src;
                $("#try").text(image);
            }
        }
    });
}

这是我的registration.php页面:

<p><?php echo $_POST['image'];?></p>
<p id="try"></p>

我已经向你展示了代码的限制......

当我打开模式并上传照片时,带有 id=try 的“p”元素正在工作,我可以看到图像 src

但是第一个 p 带有 post 值我看到一个错误

【问题讨论】:

  • registration.php 是从哪里调用addImage() 的同一页面?如果是 onload,则该值将为空,因此请在您的 p 标签周围添加 isset 条件。
  • 该错误似乎与该 javascript 代码无关,因为它不会为您的 rajax 调用输出响应。除非您调用的页面返回 json,否则您将无法使用 data.error,但它不会(因为它返回 HTML)
  • 没有addImage是modal中的按钮
  • 中的输出应该是什么?你喜欢看图片还是什么?
  • 如果只在registration.php中输出$_POST会得到什么?错误很明显数组“$_POST”中的索引“image”不存在

标签: php jquery ajax http-post


【解决方案1】:

考虑下面的代码。

function addImage(source) {
  $.post('registration.php', {
    image: source
  }, function(data) {
    if (!data.error) {
      $('#userImage').attr("src", source);
      $("#try").text($('#userImage').attr("src"));
    }
  });
}

addImage($("#output").attr("src"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<img id="output" src="https://dummyimage.com/200x100/ccc/fff.png&text=TEST" />
<p id="try"></p>

您可以传入要添加到函数中的 URL 字符串。这样,它可以更加动态,您现在可以轻松地为整个函数提供数据。

【讨论】:

    猜你喜欢
    • 2011-06-23
    • 2019-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    相关资源
    最近更新 更多