angularjs boolean php post callback

时间:2016-02-02 18:03:44

标签: php angularjs http

是否有解决方案使用 angularjs 控制器<从 php 发布方法获取布尔响应/强> !!!

我尝试了这个解决方案,并从php代码返回了布尔类型,但它不起作用

Code

2 个答案:

答案 0 :(得分:1)

我假设你是&#34;返回&#34;通过输出字符串&#34; true&#34;来自php的响应,例如

echo "true";

在这种情况下,您使用的服务器会添加内容类型的http标头,在这种情况下可能是text / plain。

要使其正常工作,您可以进行设置     标题(&#39;内容类型:application / json&#39;);

true应该是有效的JSON值。 Hovewer,使用application / json内容为您提供了更多选择。

您可以使用此方法发送整个对象!但是我会把它留给你。

通过使用正确的Content-Type,您的布尔值应该自动处理。

在javascript方面,检查你的response.data应该没问题。

如果您不想在php中添加内容类型标题,那么您应该写下这样的条件

if(response.data == "true") //or better use ===

为什么呢?因为现在你可能正在评估字符串 - 这总是正确的。

我希望我能帮到你,因为如果你没有发布你的php代码并且更好地解释问题就很难回答。

答案 1 :(得分:0)

您无法使用直接布尔值进行响应,在这种情况下,您可以发送包含响应的json对象,如下所示:

服务器端:

<?php

// inform the client about the content-type of this response in order to parse it automatically
header('Content-Type: application/json');

// send a json encoded array
echo json_encode(array(
  "boolean_value" => true,
  "other_data" => "something else if you want..."
));

?>

客户端:

...
function(response){
  if(response.data.boolean_value == true){
    ...
  }else{
    ...
  }
}
...