0

是否可以在添加到元素之前修改 responseText?

$('#target').load('script.php', params, function(response,status,xhr){
    response         = 'foo';  // doesn't work
    xhr.responseText = 'foo';  // doesn't work
    return 'foo';              // doesn't work        
})

我想获得我想要的唯一方法是使用该ajax方法并在成功后填充我的目标。

4

2 回答 2

0

你必须使用jQuery 的get方法

$.get('script.php', params, function (responseText) {
    $('#target').html( responseText + 'foo' );
});
于 2013-01-15T17:19:07.867 回答
0
<body>
  <div>
    <img id="random-dog" src=""/>
  </div>
  <button>Get me a doggo</button>

  <script>
    $("button").click(function () {
      $("#random-dog").load("https://dog.ceo/api/breeds/image/random", function (responseTxt, statusTxt, xhr) {
        if (statusTxt == "success")
          this.setAttribute("src", JSON.parse(responseTxt).message);
        console.log("External content loaded successfully!");
        if (statusTxt == "error")
          console.log("Error: " + xhr.status + ": " + xhr.statusText);
      });
    });
  </script>
</body>

在回调函数内部,如果状态文本为成功,则处理响应并将其设置为thissrc 属性。this表示选择器元素。

API结构是:

{
    "message": "https://images.dog.ceo/breeds/whippet/n02091134_10242.jpg",
    "status": "success"
}
于 2021-03-20T15:15:19.393 回答