如何在警报中显示AJAX响应消息?

Shu*_*oul 5 ajax json

我将用户名和密码作为请求参数发送到AJAX中的服务器并尝试显示响应消息.但是无法显示响应消息.在fiddler中它显示响应消息.但是在浏览器屏幕上它没有显示.请有人帮助我,我错了或需要改变任何东西..我写的像这样 -

$(document).ready(function () {
  $("#btnCity").click(function () {
    $.ajax({
      type: "POST",
      url: "http://test.xyz.com/login",
      crossDomain: true,
      contentType: "application/json; charset=utf-8",
      data: { username: "abc", password: "1234" },
      dataType: "JSONP",
      jsonpCallback: 'jsonCallback',
      async: false,
      success: function (resdata) {
        alert(resdata);
      },
      error: function (result, status, err) {
        alert(result.responseText);
        alert(status.responseText);
        alert(err.Message);
      }
    });
  });
});
Run Code Online (Sandbox Code Playgroud)

Yon*_*lon 1

如果您在 Fiddler 中看到响应,则问题似乎出在回调函数中。

您正在进行 jsonP 调用 - 这意味着您需要一个回调函数来“读取”响应数据。

你有一个调用“jsonCallback”的本地函数吗?

这是一个简单的 jsonP 请求,它使用响应数据启动函数“gotBack()”:

            function gotBack(data) {
                console.log(data);
            }
            $.ajax({
                url: 'http://test.xyz.com/login' + '?callback=?',
                type: "POST",
                data: formData,
                dataType: "jsonp",
                jsonpCallback: "gotBack"
            });
Run Code Online (Sandbox Code Playgroud)