本文目录一览:
- 1、ajax怎么调用php中的函数然后返回值
- 2、ajax提交php怎样返回结果
- 3、PHP用ajax的时候,responseText返回的是整个页面的html代码,求帮助。。
- 4、为什么ajax返回的是整个php代码而不是echo的内容
- 5、关于ajax发送请求到php在返回xml的过程
- 6、jquery通过ajax调用php取得返回值
ajax怎么调用php中的函数然后返回值
额,ajax 只能调用某个php ,你可以在ajax请求里带上参数,去执行函数,比如,url:a.php?action=add
a.php
?php
$action=$_POST['action'];
if($action == 'add'){
add();
}
function add(){
}
?
ajax提交php怎样返回结果
以thinkphp为例,自带基类函数ajaxreturn($data,'json'),把返回结果封装到$data变量中,以'json'格式返回即可
如果是自己的结构请参考这个函数的实现
PHP用ajax的时候,responseText返回的是整个页面的html代码,求帮助。。
服务器端输出JSON格式回调数据,然后在客户端使用file_get_contents接收。你可以百度下菜鸟网 里面有AJAX及JSON的教程,这里空间有限写不下。
下面是一个例子:
$("XXX").click(function(){
$.post("XXX.PHP",
{
name:"XXX"//向服务端提交
},
function(data){
alert("Data.name);//服务端返回数据,服务端用$_POST接收name然后转JSON格式输出。
});
});
为什么ajax返回的是整个php代码而不是echo的内容
1、html文件要从localhost访问,不要双击打开
2、("phpinfo.php?test=1?name=null") 多了一个?,取不到name值
3、js代码要用script标签包起来
4、$q要赋值,不然不走那个分支
5、改完以上问题后Apache下测试已通过,再有问题就是IIS的问题,百度“iis7解析漏洞”
关于ajax发送请求到php在返回xml的过程
你的想法是正确的,不需要另外生成xml文件。你只需要把特定格式的数据发回去就好了
关于ajax,我建议你用jquery的封装函数.ajax
使用方法如下:
test.html
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
""
html lang="en-US"
head
meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
title/title
script src="./jquery.js"/script
script
function ajax_test(params){
$.ajax({
url:'./test.php',
type:'post',
dataType:'html',
data:params,
error: function(){alert('error');},
success:function(products){
alert(products);
}
});
}
/script
/head
body
input type=button value='test' onclick="ajax_test('1');"
/body/html
test.php
?php
echo 'hello world';
?
关于jquery的说明文档网上有很多。
说明:ajax的数据是按utf-8格式传递,如果发现乱码问题,就是因为这个
$.ajax(properties)
使用HTTP请求(XMLHttpRequest)载入一个远程页面。
这是jQuery的低级AJAX实现。要查看高级抽象,见$.set、$.post等。
$.ajax()返回创建好的XMLHttpRequest对象。多数情况下并不需要直接操纵这个对象,但是如果需要手动中止请求,它也是可用的。
注意:要确保服务器返回正确的MIME类型(例如:XML是“text/xml”)。如果返回了错误的MIME类型就会导致jQuery无法处理的严重问题。
支持的数据类型包括(见dataType选项):
"xml": 返回一个可以由jQuery对象处理的XML文档。
"html": 返回纯文本格式的HTML,包括求值后的脚本标记。
"script": 将响应作为Javascript语句求值,并返回纯文本。
"json": 将响应作为JSON求值,并返回一个Javascript对象。
返回json数据的例子:
success:function(products){
$.each(products, function(i, n){
switch(i){
case 'page': show_pages(n);break;
case 'other': //$("#data_search_res1").html(n.sql);
break;
case 'sql':break;
case 'top5'://show_top5(n);
break;
default:str_tables+=show_dable(n);
break;
}
});
}
php:生成josn数据
?php
include_once("../include/JSON.php");
//此文件可到google搜索,如找不到可以留下邮箱,我给你发一份
$json = new Services_JSON();
$str_back['page']=array('start'= $start,
'page'= $pageId,
'pagecnt'= $pageCnt,
'maxno'= $maxNo,
'pages'= $pages,
'nums'= $numRs
);
$out_put=$json-encode($str_back);
echo $out_put;
?
jquery通过ajax调用php取得返回值
返回数据代码如下:
如果在php里有echo的值的话,可以用AJAX来接收:
有多个输出的话,是不可能指定输出的
需要把想要输出的内容放到一个数组中,然后json_encode一下,在到js里循环,找到自己想要的值
比如:
//需要输出的内容
echo 'aaa'; echo 'bbb';echo ''ccc;
//合成数组
$data = array(‘name1’='aaa',‘name2’= 'bbb',‘name2’= 'ccc');
//json_encode
$data = json_encode($data);
//输出
echo $data;
js:
$.post('aa.php',‘’,function(mes){
var data = eval('(' + msg + ')');
var name1 = data['name1'];
var name2 = data['name2'];
var name3 = data['name3'];
})