小编jan*_*nda的帖子

`header("Content-type:application/json")的用法;`

我刚刚创建了一个JQuery ajax函数来检索一些json-encoded数据PHP,这是我的代码:

文件名:bank.php

$('form').on('submit', function(){

        var datatobesent  = $(this).serialize();
        $.ajax({
            data: datatobesent,
            url:'data.php',
            type:'GET'
        })
        .done(function(data){
            console.log(typeof(data));
        });
        return false;
})
Run Code Online (Sandbox Code Playgroud)

data.php我写的

if(isset($_GET)){
    $data = $_GET;
    echo json_encode($data);
    header("Content-type:application/json");
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我删除的行header("Content-type:application/json");data.phpconsole.log告诉数据返回的类型ajaxstring.

而当我dataType :ajax函数内部添加json`` 时bank.php,类型变为object

header("Content-type:application/json");实际上是什么功能呢?

php ajax jquery json

9
推荐指数
1
解决办法
8万
查看次数

即使承诺未能执行,Javascript 承诺“then”也始终运行

我希望在调用第二个“then”时不执行第三个“then”。然而,即使承诺被拒绝(第二个“then”被调用)并且代码返回“rejected”然后“undefined”,它仍然调用第三个“then”。如何不运行第三个“then”,这样“undefined”就不会出现?

var FirstPromise = function() {

  let promiseme = new Promise(function(res, rej) {

    if ('a' == 'b') {
      res(1);
    } else {
      rej('rejected');
    }
  })

  return promiseme;
};

function succeddcallback(msg) {
  return msg * 2;
}

function errorcallback(msg) {
  console.log(msg);
}

FirstPromise()
  .then(succeddcallback, null)
  .then(null, errorcallback)
  .then(function(succedded) {
    console.log(succedded);
  }, function(failed) {
    console.log(failed);
  })
Run Code Online (Sandbox Code Playgroud)

javascript promise deferred

4
推荐指数
1
解决办法
1956
查看次数

标签 统计

ajax ×1

deferred ×1

javascript ×1

jquery ×1

json ×1

php ×1

promise ×1