Ajax接收不到PHP return后的结果的原因

PHP在处理ajax返回值的时候,如果使用return如 return $result会失败,echo $result却没问题。

解释原因如下:

1.ajax请求从服务器端读取返回值,而且这些返回值必须为一些可读的数据类型, 例如json或html。为了打印这些返回值 你需要echo,但是return则不会打印出来数据 它只是简单的在服务器上传递数据。

2.Ajax获取返回值是使用HTTP请求。 return不会产生输出(只在server端进行),而echo可以(从server -> brower,http协议)。Ajax请求的url其实就是一个页面,它可以在浏览器显示,而 php中以return返回数据只是在服务器端去返回这些数据。
综上所述,如果ajax 地址是一个PHP return,将不会获取到正确数据。

时间: 2024-10-18 16:53:53

Ajax接收不到PHP return后的结果的原因的相关文章

【04】AJAX接收服务器返回的数据

AJAX接收服务器返回的数据 readyState 和 status 属性 readyState 属性保存有 XMLHttpRequest 对象的交互状态,从 0 到 4 变化: 0 :未初始化(还没有调用send()方法): 1:载入(已调用send()方法,正在发送请求): 2:载入完成(send()方法执行完成,已经接收到全部响应数据): 3:交互(正在解析响应数据): 4:完成(响应数据解析完成,可以在客户端调用了). status 属性保存有 XMLHttpRequest 对象与后台交

jquery:ajax接收不到后台返回值

html页面a元素如果加上href=javasrcipt:void(0)会导致ajax接收不到后台返回值. 例如: <p class="chatmsg_load_more"><a href="javascript:void(0)">加载更多</a></p> 如果这个时候,你恰好需要点击"加载更多"执行ajax请求,那么很不幸的告知您,您的ajax请求,不会执行success后的代码,也就是说: $(

ajax接收php返回得到一堆html代码

ajax接收php返回得到一堆html代码 一.      错误代码: <font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'> <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-

ThinkPHP中使用ajax接收json数据的方法

本文实例讲述了ThinkPHP中使用ajax接收json数据的方法.分享给大家供大家参考.具体分析如下: 这里通过ThinkPHP+jquery实现ajax,扩展了下,写了个查询,前台代码如下: 首先需要引入jquery.js,主要代码如下: 1 function ajax(id,pic){ 2 3 //由于ThinkPHP不解析JavaScript里的ThinkPHP常量,所以需要先在这里定义. 4 5 var URL='__URL__'; 6 7 $.ajax({ 8 9 url: URL+

Ajax接收服务器返回的信息response

Ajax可以向服务器发起请求,有去的方式,那么久必然可疑返回. 服务器返回的信息也可以通过Ajax接收. Ajax共有5种状态: 1.创建对象,没有调用open方法 2.对象发起请求http,已经调用open方法,尚未调用send方法 3.向服务器发起请求 4.从服务器返回信息 5.信息返回完毕 readyState属性(0,1,2,3,4) 侦测Ajax状态: 对象有一个onreadystatechange,可以侦测当前ajax请求的状态(1,2,3,4) Ajax接收返回信息: Ajax有四

json传值以及ajax接收

一开始进入公司,做起项目来比较不知所措,现在一个月过去了,越来越得心应手,下面是json向前端传值以及前端ajax接收,给自己记下也分享给大家. 这是两个类型不同的json与ajax的数据交互(集合.类对象) JsonConfig jsonConfig = new JsonConfig(); //lenient jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); JSONArray json = JSONAr

[TimLinux] JavaScript AJAX接收到的数据转换为JSON格式

1. 接收数据 AJAX接收数据是通过xhr.responseText属性,这是一个属性不是一个方法,这个属性得到的数据为字符串. 2. 字符串内容 当服务器发送的是一个JsonResponse({'name':'Tim', 'sex': 'male'})这样的数据时(Django服务器),前端 xhr.responseText 属性得到的字符串值为"{'name':'Tim', 'sex':'male''}",再次强调这是一个字符串 3. 字符串转换为JSON 字符串转换为JSON,

用jquery的ajax方法获取不到return返回值

/** * (1)同步调用 (2)且在ajax对全局变量进行设值 (3)ajax函数外将变量return * 结果:返回 2.成功获取返回值 * 成功原因:先执行result = 2;再往下执行return result; */ function checkAccount3(){ var result = 1; $.ajax({ url : 'test.do', type : "post", data : {}, async : false, success : function(da

jQuery插件AjaxFileUpload实现ajax文件上传时老是执行error方法 问题原因

今天在用jQuery插件AjaxFileUpload实现ajax文件上传时,遇到一个问题,如图: 老是执行error,无法执行succes方法,追踪ajaxfileupload.js源码发现: 当执行if(type=="json")    eval("data = "+data);会抛出异常,导致在处理异常的时候将status = "error" 因此一直执行error方法. 上网查询,得知eval函数是用来执行一段js代码,而并不是如我所想的反