导航:首页 > 编程语言 > phpajaxget

phpajaxget

发布时间:2022-10-25 10:05:11

‘壹’ ajax怎么访问php中的方法

ajax异步传输,个人理解ajax和表单没有什么区别,只是表单刷新整个页面,ajax 在不刷新页面的情况下传送数据到后台并接收后台处理的结果,用post或get方法给php文件或主入口文件对应的方法传值,在对应的php文件有$_POST或$_GET 接受,就可以了

‘贰’ php如何获取jquery ajax传递过来的值

方法和详细的操作步骤如下:

1、第一步,安装并配置PHP集成环境,以phpstudy为例,见下图,转到下面的步骤。

‘叁’ 请问下 php 怎么获取 ajax 请求 来源页面的 完整 url 地址啊

PHP在经常要用到上一页的地址,如在设置要登陆跳转的页面上。
$_SERVER['HTTP_REFERER'] //可以得到上一页的地址
$_SERVER[PHP_SELF] //得到当前页面地址
$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"]."?".$_SERVER["QUERY_STRING"] //这个可以得到带参数的地址

‘肆’ ajax get 传值给php问题

1.php中responseText打印出来会返回yes,4.php则是输出的no.
这是正确的。
使用以下两条语句后
xHRObject.open("GET", "4.php?lat=" + 1 +"&lng=" + 1, true);
xHRObject.onreadystatechange = getData;
4.php已经运行了,只是它的输出YES直接送到xHRObject对象中了,
因此xHRObject.responseText打印出来为YES
而直接运行4.PHP,因没有带参数,即lat没有定义,输出为NO

ajax与普通的GET或POST不同的,GET或POST一般会从当前页面跳转到GET或POST指定页面,如本例中可能会跳转到4.PHP,即如你所说的4.PHP成功输出YES;但ajax不会跳转,因此显示的YES信息也只会在当前页面。

‘伍’ 这样写ajax 怎么PHP get接收不到 而print_r($_REQUEST可以打印出来、

你好,你这是因为。。click函数没有返回flase,导致submit按钮默认提交了。。而没有执行ajax请求。。所以你收到的$_REQUEST内容全部是表单通过POST提交的。。谢谢。

‘陆’ thinkphp中怎么用ajax

thinkphp中使用ajax很简单.主要掌握的地方有三个.

第一.tp中ajax的url需要使用大U方法.比如:$.post("{:U('User/add')}")

第二.控制器中返回结果得第一种方法.$this->error('失败','',true); 第三个参数为true.则发挥的是json数据.包含info.status.url三项.

第三.控制器中返回结果的第二种方法.$this->ajaxReturn(array('customKey1'=>'customValue1','customKey2'=>'customValue2','customKey3'=>'customValue3')).

掌握以上三点和ajax基本使用方法.那么在tp中使用ajax也就掌握了.简单的例子如下.伪代码,或许有错.

模板中:

<script>
$.post("{:U('User/add')",{uname:xiaoming,age:15},function(data){
//data接收返回数据
if(data.status==1){
alert(data.info);
location.href=data.url;
}else{
alert('错误');
}
});
</script>

控制器中:

publicfunctionadd(){
if(IS_AJAX){
$name=I('post.name','','trim');
$age=I('post.age','','trim');
if($name&&$age){
//插入数据
$this->success('添加成功',U('User/index'),true);
}else{
$this->ajaxReturn(array(
'status'=>0,
'info'=>'大爷,您没输入名字',
'url'=>U('User/add')
));
}

}else{
returnfalse;
}
}

大概就是这样子.至于剩下的$.ajax.$.getJson等等都是一样的道理

‘柒’ thinkphp怎样获取ajax请求数据

一般将前台页面搜索结果中,不喜欢的内容(链接),删除掉,因为整个网站的编程框架式thinkphp,运用js中的ajax对页面进行响应,调用后台php接口,实现前台和后台数据库的同时更新.
首先我们需要做的就是在前台页面中添加一个文本“删除”,可以这么添加:
代码如下:

<a href="javascript:void(0);" id= "<php>echo $val[id]</php>" class="delete" >删除</a>
上面的html代码的意思:就是给删除添加一个href,这个href是个js函数,类似于超链接的作用,当然对于我这样的新手在刚开始的时候会有疑惑,我们平时的超链接不是这样的,网页中很多的javascript:void(0),那程序怎么知道用户点击删除后,会响应其真正对应的js函数呢?别急,这就是为什么会为删除添加id以及class这样的标签,相信我把js中的代码公布出来以后你就会明白了,代码如下:
jQuery(".list a.delete").click(function(){
if(confirm("你确定要删除吗?")){
var _this=this;
var id = jQuery(_this).attr("id");
jQuery.ajax({
url : '/Search/index.php/Jason/delete?',
data : {'id':id},
dataType : 'json',
success : function(data){
var del = data.del;
if(del == 1){//删除成功
jQuery("#"+id).parents(".list").remove();
}else{//删除失败
alert("删除失败");
}
}
});
}
});

大家看函数的头部:jQuery(".list a.delete").click(),jQuery后面的标签是很重要的,这就保证了jquery很准确的响应页面中用户点击的“位置”,添加的事件为click(),在click里添加响应事件的代码:var id = jQuery(_this).attr("id");获取a对应的id,因为这个id是我们删除数据库时用到的链接id,当然这种直接明文的方式不好,在这里只是介绍整个响应过程。调用ajax,实现异步的运行整个过程。我们设置了js接受的是json串,这里的方式应该有很多种吧,我没有去尝试,大家要是有兴趣可以自行尝试一下。/Search/index.php/Jason/delete?这句话就是js去请求php的接口,php接口对用的代码如下:
注意ajax在求php接口时的路径,也就是delete函数必须放在JasonAction.class.php中,此例子是必须这样的:
代码如下:

public function delete(){
if($this->isGet()){
$userId = session("uid");//用户登录
if(!empty($userId)){
$a = M('***');
$id = $this->_get('id');
$result=$a->where("id=$id")->delete();//删除
if($result > 0){
$arr = array("del"=>'1');
}else{
$arr = array("del"=>'0');
}
$json_str = json_encode($arr);
echo $json_str;//返回给js
}
}
}

相信大家对上面的代码不会陌生吧,整个过程都是thinkphp框架内部配置完毕的.
var del = data.del;这句是接受php代码返回来的json串中del这个key的value,进而在前台进行页面更新和响应.

复制代码代码如下:
if(del == 1){//删除成功
jQuery("#"+id).parents(".list").remove();//这句话就是后台删除成功后,直接在前台对响应的div进行删除,这样性能就会很快,无需进行后台数据的重新提取至前台页面中,
}else{//删除失败
alert("删除失败");
}
整个响应的过程就是这样,至于效果优化,是优化和细化方面的问题,后来,身边的同事又告诉我前台移除响应链接的另一个动态效果:
即将:
代码如下:
jQuery("#"+id).parents(".list").remove();
替换为:
代码如下:

jQuery("#"+id).parents(".list").slideUp("slow", function(){
jQuery(this).remove();
});

‘捌’ php ajax请求,说提交的请求中存在不安全的值,请修改后重新提交

要设置form的提交方式,一般有两种方式get和post默认的是get
<form name="form" method="post">
如果不填写method的话,默认将以get方式提交。

你可以去后盾人平台看看,里面的东西不错

‘玖’ jquery ajax get中文请求乱码问题(php)

function js_unescape($str)
{
$ret = '';
$len = strlen($str);

for ($i = 0; $i < $len; $i++)
{
if ($str[$i] == '%' && $str[$i+1] == 'u')
{
$val = hexdec(substr($str, $i+2, 4));

if ($val < 0x7f) $ret .= chr($val);
else if($val < 0x800) $ret .= chr(0xc0|($val>>6)).chr(0x80|($val&0x3f));
else $ret .= chr(0xe0|($val>>12)).chr(0x80|(($val>>6)&0x3f)).chr(0x80|($val&0x3f));

$i += 5;
}
else if ($str[$i] == '%')
{
$ret .= urldecode(substr($str, $i, 3));
$i += 2;
}
else $ret .= $str[$i];
}
return $ret;
}

上面这个函数是接收ajax传过来的参数是调用
使用方法:js_unescape($_GET['通过ajax传过来的参数']);

function phpescape($str)
{
$sublen=strlen($str);
$retrunString="";
for ($i=0;$i<$sublen;$i++)
{
if(ord($str[$i])>=127)
{
$tmpString=bin2hex(iconv("utf-8","ucs-2",substr($str,$i,2)));
//$tmpString=substr($tmpString,2,2).substr($tmpString,0,2);linux下打开这项
$retrunString.="%u".$tmpString;
$i++;
} else {
$retrunString.="%".dechex(ord($str[$i]));
}
}
return $retrunString;
}

上面这个函数是返回给调用层进行的编码操作
使用方法:phpescape('你所要输出的内容');

‘拾’ php接收ajax参数!

传参数:
$.get(url,{'id':ddid},function(data){})
接受参数:
if(isset($_GET['id']) && $_GET['id'] != ''){
$ddid = $_GET['id'];
}

阅读全文

与phpajaxget相关的资料

热点内容
QQ聊天记录journal文件夹 浏览:118
苹果公司云服务器地址 浏览:85
加密记事本手机 浏览:437
汽车压缩机变频阀 浏览:95
域外服务器是什么意思 浏览:639
大众点评服务器怎么老卡顿 浏览:556
javavector与list的区别 浏览:316
java初始化类数组 浏览:303
java字符串转换成json对象 浏览:647
android非阻塞socket 浏览:358
编译系统概念 浏览:452
天眼通app能做什么 浏览:557
魅族手机怎么加密图库 浏览:8
rpa编译器 浏览:572
车载云服务器记录 浏览:740
四川金星压缩机制造有限公司 浏览:55
移动平台图片压缩算法 浏览:37
银行项目java 浏览:571
怎样将pdf转换为ppt 浏览:598
纯净服务器怎么开服 浏览:288