本人拍黄片(PHP),我大PHP是世界上最好的语言,由于工作原因,学了点ajax,在这里分享给大家,当然必须也要有PHP提供接口数据的呀!

#HTML代码
<!DOCTYPE html>
<html>
<head>
	<title>测试ajax请求</title>
</head>
<body>
		<br/><br/><br/><br/>
		<center>
		phone: <input type="text" name="phone" class="phone"><br/>
		name:  <input type="text" name="name" class="name"><br/>
				<button class="btn">点击测试</button>
		</center>
</body>
<script type="text/javascript" src="jquery.js"></script>
</html>
#js代码:
    $(function(){
        $('.btn').click(function(){
            var phone=$('.phone').val();
            var name =$('.name').val();
            $.ajax({
                type:'POST',url: '{:U('Login/check')}',dateType:'JSON',data:{
 //也可以写成拼接字符串模式
                    'phone':phone,'name':name,},/******
        第二种data数据形式
        data:'phone='+$(".phone").val()+"&name="+$(".name").val(),**/
                success: function(data){
        //这里的data跟state是PHP提供接口时返回的信息
                    if(data.state=="y"){
                        alert(data.msg);
                        window.location.href="url"; //这里是异步请求成功的跳转地址。
                    }else{
                        alert(data.msg);
                        return false;
                    }
                }
            });
        });
            
    });
//第三种ajax请求:
	var url = "/index.PHP?c=login&a=check1";
		var data = {'username':username,'password':password};

		$.post(url,data,function(result){
			if(result.status==0){
					return dialog.error(result.message);
			}
		},'JSON');
	},
#test.PHP 这里我用的是thinkPHP3.2版本的,有些封装好的函数我就拿来直接用了
<?PHP
namespace Admin\Controller;
use Think\Controller;
class LoginController extends Controller {
    public function check(){
    	   $username = $_POST['username'];
    	   $password = $_POST['password'];
    	if(!trim($username)){
//这里的data是数组,和ajax信息一模一样,参数值怎么返回,这里怎么写
    		$data['state']=0;
    		$data['msg']='空';
    		echo json_encode($data);die();
    				
    	}
    	
    }
}

或者用另一种标准的方式写接口也行:

public function check1(){
    //这里是login下的check1另一个接口方式,更改ajax的url参数就可以用了。
    $username= $_POST['username'];
    if(!trim($username)){
       $result=array('data'=>array(),'message'=>'密码不能为空','status'=>0); 
        exit(json_encode($result));
    }
}

或者我们可以封装一个公共类接口返回信息,然后在业务逻辑下直接调用这个方法

//这里我用的是TP3.2做的例子,其实框架只是工具,不要在意这些,任何框架都可以这样写
//我在application/Common/Common下的function.PHP写的
function  show($status,$message,$data=array()){
    $result=array(
                'status'=>$status,'message'=>$message,'data'  => $data);
    exit(json_encode($result));
}

//然后再业务中这样调用
 public function check(){
    	$username = $_POST['username'];
    	$password = $_POST['password'];
    	if(!trim($username)){
//直接return show方法,然后信息直接写。
    		return show(0,'用户名不能为空');		
    	}
    	if(!trim($password)){
    		return show(0,'密码不能为空');
    	}
    }

ajax请求和php接口的更多相关文章

  1. Html5页面二次分享的实现

    这篇文章主要介绍了Html5页面二次分享的实现的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  2. HTML5跳转小程序wx-open-launch-weapp的示例代码

    这篇文章主要介绍了HTML5跳转小程序wx-open-launch-weapp的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. ios – Objective C接口,委托和协议

    所以我试图围绕Objctive-C接口,代理和协议.所以我有一个问题:委托是否必须在单独的文件中,或者它是否是您班级中定义的方法?协议就像java接口吗?

  4. ios – watchOS错误:控制器的接口描述中的未知属性

    解决方法创建IBOutlet作为WKInterfacePicker的属性,您将不会收到消息.

  5. 泛型 – MonoTouch和支持变体通用接口

    如果是这样,MonoTouch中针对这种情况的推荐解决方法是什么?解决方法这实际上取决于编译器而不是Mono版本.IOW有些东西可能适用于Mono2.10而不适用于MonoTouch6.x.当前版本的MonoTouch附带了smcs编译器和基于2.1的配置文件.较新的功能,如协方差,需要一个完整的4.0编译器和运行时.未来版本的MonoTouch将提供4.0/4.5运行时和编译器.

  6. ios – 用于 – 在Counterparts中的ViewController.swift(接口)文件是什么

    有人可以这么善良并解释这个文件的目的是什么?

  7. ios6 – 检测UIViewController上的接口旋转,即使未在 – (NSUInteger)supportedInterfaceOrientations中定义

    解决方法尝试使用UIDevice实例来检测设备物理方向的变化.要开始接收通知,您可以使用类似的内容:要取消注册接收设备旋转事件,请使用此选项:这是deviceDidRotate函数的一个例子:

  8. 应用程序关闭时的iOS任务

    我正在构建一个应用程序,通过ajax将文件上传到服务器.问题是用户很可能有时不会有互联网连接,并且客户希望在用户重新连接时安排ajax调用.这可能是用户在离线时安排文件上传并关闭应用程序.应用程序关闭时可以进行ajax调用吗?

  9. 接口和扩展

    classSimpleClass:ExampleProtocol{String="Averysimpleclass."varanotherProperty:Int=120funcadjust(){simpleDescription+="Now100%adjust."}funcadd(){simpleDescription+="Now50%add."}}vara=SimpleClass()a.adjust()letaDescription=a.simpleDescriptionstructSimpleStr

  10. swift类和接口的使用

    1类的使用2接口的使用

随机推荐

  1. xe-ajax-mock 前端虚拟服务

    最新版本见Github,点击查看历史版本基于XEAjax扩展的Mock虚拟服务插件;对于前后端分离的开发模式,ajax+mock使前端不再依赖后端接口开发效率更高。CDN使用script方式安装,XEAjaxMock会定义为全局变量生产环境请使用xe-ajax-mock.min.js,更小的压缩版本,可以带来更快的速度体验。

  2. vue 使用 xe-ajax

    安装完成后自动挂载在vue实例this.$ajaxCDN安装使用script方式安装,VXEAjax会定义为全局变量生产环境请使用vxe-ajax.min.js,更小的压缩版本,可以带来更快的速度体验。cdnjs获取最新版本点击浏览已发布的所有npm包源码unpkg获取最新版本点击浏览已发布的所有npm包源码AMD安装require.js安装示例ES6Module安装通过Vue.use()来全局安装示例./Home.vue

  3. AJAX POST数据中文乱码解决

    前端使用encodeURI进行编码后台java.net.URLDecoder进行解码编解码工具

  4. Koa2框架利用CORS完成跨域ajax请求

    实现跨域ajax请求的方式有很多,其中一个是利用CORS,而这个方法关键是在服务器端进行配置。本文仅对能够完成正常跨域ajax响应的,最基本的配置进行说明。这样OPTIONS请求就能够通过了。至此为止,相当于仅仅完成了预检,还没发送真正的请求呢。

  5. form提交时,ajax上传文件并更新到&lt;input&gt;中的value字段

  6. ajax的cache作用

    filePath="+escape;},error:{alert;}});解决方案:1.加cache:false2.url加随机数正常代码:网上高人解读:cache的作用就是第一次请求完毕之后,如果再次去请求,可以直接从缓存里面读取而不是再到服务器端读取。

  7. 浅谈ajax上传文件属性contentType = false

    默认值为contentType="application/x-www-form-urlencoded".在默认情况下,内容编码类型满足大多数情况。在这里,我们主要谈谈contentType=false.在使用ajax上传文件时:在其中先封装了一个formData对象,然后使用post方法将文件传给服务器。说到这,我们发现在JQueryajax()方法中我们使contentType=false,这不是冲突了吗?这就是因为当我们在form标签中设置了enctype=“multipart/form-data”,

  8. 909422229_ajaxFileUpload上传文件

    ajaxFileUpload.js很多同名的,因为做出来一个很容易。我上github搜AjaxFileUpload出来很多类似js。ajaxFileUpload是一个异步上传文件的jQuery插件传一个不知道什么版本的上来,以后不用到处找了。语法:$.ajaxFileUploadoptions参数说明:1、url上传处理程序地址。2,fileElementId需要上传的文件域的ID,即的ID。3,secureuri是否启用安全提交,默认为false。4,dataType服务器返回的数据类型。6,error

  9. AJAX-Cache:一款好用的Ajax缓存插件

    原文链接AJAX-Cache是什么Ajax是前端开发必不可少的数据获取手段,在频繁的异步请求业务中,我们往往需要利用“缓存”提升界面响应速度,减少网络资源占用。AJAX-Cache是一款jQuery缓存插件,可以为$.ajax()方法扩展缓存功能。

  10. jsf – Ajax update/render在已渲染属性的组件上不起作用

    我试图ajax更新一个有条件渲染的组件。我可以确保#{user}实际上是可用的。这是怎么引起的,我该如何解决呢?必须始终在ajax可以重新呈现之前呈现组件。Ajax正在使用JavaScriptdocument.getElementById()来查找需要更新的组件。但是如果JSF没有将组件放在第一位,那么JavaScript找不到要更新的内容。解决方案是简单地引用总是渲染的父组件。

返回
顶部