在PHP中使用header返回一个自定义字符串到前端

using header within php to return a custom string to front end

本文关键字:一个 自定义 字符串 前端 PHP 返回 header      更新时间:2023-09-26

我有一个php脚本返回成功或错误。success实际上返回一个空数组,但它允许javascript中的success调用发生。

我知道我可以使用一个头做错误,这样的错误将触发,但我如何返回它自定义字符串?

成功范例:

header("Content-Type: application/json");
echo json_encode(array());

i was trying的错误示例:

header("Wrong Pasword.", true, 400);
echo "Wrong Password.";  

header的第一个参数和echo都不会返回给客户端。我试图返回一个自定义错误,这样我就可以,在javascript中说:

$.ajax({
   url:"script.php", 
   success:function(){},
   error: function(error){ 
       alert(error);
   }});

在这个例子中,我试图有错误是:"错误的密码。"

在PHP中,您希望生成一个json响应,其中包含错误或成功消息,如下所示:

PHP文件

<?php 
    header("Content-Type: application/json");
    echo json_encode(array("error" => "Wrong password", "success" => false));
?>

,然后前端,您想通过ajax调用获得成功/错误消息:

$.ajax({
   url:"script.php", 
   dataType: 'json',
   success:function(data){
      if(!data.success)
      {
         alert(data.error);
      }
   },
   error: function(error){ 
       console.log(error);
   }});

请注意:ajax error不用于通过脚本发送回的错误,但错误,如未能加载页面,或500。

如果我在php中返回这个:

header("HTTP/1.0 400 Bad Request");
echo "Wrong Password.";
return;
在javascript中,我将ajax调用修改为:
error: function(error){ alert(error.responseText); }

您可以使用下面的代码来捕获头数据

$.ajax({
       url:"script.php", 
       success:function(e){},
       error: function(e){ 
          alert(e.status);
          alert(e.error);
          alert(e.responseText);
          alert(e.statusText);
        }
    });