以上就是给各位分享如何通过ajax从php传回变量,其中也会对ajax向php传值进行解释,同时本文还将给你拓展javascript–如何通过AJAX发送PHP数组?、php–如何通过ajax提交和验
以上就是给各位分享如何通过ajax从php传回变量,其中也会对ajax向php传值进行解释,同时本文还将给你拓展javascript – 如何通过AJAX发送PHP数组?、php – 如何通过ajax提交和验证表单、php – 如何通过Ajax请求或每次加载页面来验证用户?、php – 通过ajax从input type = file发送原始文件数据等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:- 如何通过ajax从php传回变量(ajax向php传值)
- javascript – 如何通过AJAX发送PHP数组?
- php – 如何通过ajax提交和验证表单
- php – 如何通过Ajax请求或每次加载页面来验证用户?
- php – 通过ajax从input type = file发送原始文件数据
如何通过ajax从php传回变量(ajax向php传值)
JS:
$(document).on('pageinit',function(){ $("#login").click(function(){ username=$("#usr").val(); password=$("#psw").val(); $.ajax({ type: "POST",url: "http://imes.***********.com/PHP/login_check.PHP",data: "name="+username+"&pwd="+password,success: function(html){ //in case of success if(html=='true') { $("#login_message").html("Logged in,congratulation."); $.mobile.changePage("http://imes.***********.com/userpanel.PHP"); } //in case of error else { $("#login_message").html("Wrong username or password"); } },beforeSend: function() { $.mobile.showPageLoadingMsg(); },//Show spinner complete: function() { $.mobile.hidePageLoadingMsg() } //Hide spinner }); return false; });
PHP:
<?PHP session_start(); $username = $_POST['name']; $password = $_POST['pwd']; include('MysqL_connection.PHP'); MysqL_select_db("jzperson_imesUsers",$con); $res1 = MysqL_query( "SELECT * FROM temp_login WHERE username='$username' AND password='$password'" ); $num_row = MysqL_num_rows($res1); if ($num_row == 1) { echo 'true'; } else { echo 'false'; } ?>
解决方法
PHP端
... $json = new Services_JSON(); echo $json->encode("{a:1,b:2}");
JS
... success:function(data){ if(data) { console.log(data.a); console.log(data.b); } ....
您可以在PHP中编码任何数组并将其作为ajax回调传递.
Json课你可以获得there
javascript – 如何通过AJAX发送PHP数组?
例如,javascript从表单中获取值
var w = _("website").value; var bio = _("bio").value;
然后像这样发送ajax.send(“w =”w“& bio =”bio);这是应该的,但我想添加一些东西.
现在我有一些复选框,我希望在一个数组中通过ajax发布在一个变量中.所以在我的表单中我有这段PHP:
$licensessql = MysqLi_query($db_conx,"SELECT * FROM licenses"); while($licenserecord = MysqLi_fetch_assoc($licensessql)) { echo '<input type="checkBox" value="'.$licenserecord["license"].'" name="licenses[]" id="'.$licenserecord["license"].'"><label for="'.$licenserecord["license"].'">'.$licenserecord["license"].'</label><br>'; }
使用纯PHP,这将工作,并将复选框中的所有值放在数组license []中,但我不知道如何使用ajax实现此目的.如果我有5个复选框,我希望javascript var具有例如值’value1,value2,value3’并将其发布到PHP.
谢谢!
解决方法
要回答你的实际问题:“如果我有5个复选框,value3’并将其发布到PHP.”
这是一个完整的工作示例(使用3个复选框),它将生成一个javascript变量,您可以使用该变量传递给您的AJAX post方法以供PHP处理.
JSfiddle:https://jsfiddle.net/o5q04vf0/
代码片段:
$(document).ready(function() { $('#btnTest').click(function() { var checkBoxValues = $("[name=licenses\\[\\]]").map(function() { if ($(this).is(':checked')) { return this.value; } }).get().join(); alert(checkBoxValues); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="checkBox" value="0" name="licenses[]" /> <input type="checkBox" value="1" name="licenses[]" /> <input type="checkBox" value="2" name="licenses[]" /> <button id="btnTest">Submit</button>
这将帮助您指导正确的方向,但请考虑通过AJAX传递数据,就像这里建议的其他成员一样.
php – 如何通过ajax提交和验证表单
请尝试通过使用Ajax同时提交和验证我的表单到我的数据库,但它不适合我.
这是我的jquery
$(document).ready(function(){
$(".button").click(function(){
$("#myform").validate();
//Ajax to process the form
$.ajax({
type: "POST",
url: "process.PHP",
data: { firstname: $("#firstname").val()},
success: function(){
$('#message').html(data);
}
});
return false;
});
});
问题是当我提交表单时,Ajax表单提交给自己.
请一起使用jquery validate和$.ajax的正确方法是什么?
解决方法:
试试这个(按预期为我工作):
HTML表格:
<link rel="stylesheet" href="http://jquery.bassistance.de/validate/demo/css/screen.css" />
<script src="http://jquery.bassistance.de/validate/lib/jquery.js"></script>
<script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
<script>
// JQuery Script to submit Form
$(document).ready(function () {
$("#commentForm").validate({
submitHandler : function () {
// your function if, validate is success
$.ajax({
type : "POST",
url : "process.PHP",
data : $('#commentForm').serialize(),
success : function (data) {
$('#message').html(data);
}
});
}
});
});
</script>
<formid="commentForm" method="get" action="">
<fieldset>
<p>
<label for="cname">Name (required, at least 2 characters)</label>
<input id="cname" name="name" minlength="2" type="text" required />
<p>
<label for="cemail">E-Mail (required)</label>
<input id="cemail" type="email" name="email" required />
</p>
<p>
<label for="curl">URL (optional)</label>
<input id="curl" type="url" name="url" />
</p>
<p>
<label for="ccomment">Your comment (required)</label>
<textarea id="ccomment" name="comment" required></textarea>
</p>
<p>
<inputtype="submit" value="Submit" />
</p>
</fieldset>
</form>
<div id="message"></div>
PHP代码:
<?PHP
echo $_POST['email'];
?>
php – 如何通过Ajax请求或每次加载页面来验证用户?
这是一个非常简单的问题 – 虽然我现在正在思考这个问题,因为我开始了我的第一个真实世界和相当宏伟的(在大小方面)项目.
当通过PHP发送Ajax请求时,我将如何验证用户的身份(用户名和密码)?似乎有一个简单的解决方案:将用户名和密码作为POST变量与请求中的其他变量一起发送,但在我看来解决方案效率很低(因为每次请求都必须检查数据库)对于不同的Ajax请求,它是完全冗余的.
我研究了Twitter如何处理他们的Ajax请求(例如发布新的推文),我没有看到他们在请求中发送任何身份验证信息 – 但是他们怎么知道它实际上是我,我的个人资料的所有者,发送Ajax请求发布新推文?
如果它能帮助任何人提出一个很好的解决方案 – 我使用的是JQuery AJAX库和CodeIgniter PHP框架.
谢谢!
解决方法:
Ajax请求与任何其他HTTP请求完全相同.无论是通过JavaScript完成还是在浏览器的地址栏中输入URI,它们都是HTTP请求.
你是对的,通过HTTP发送用户名和密码是错误的解决方案.但是,通常需要发送一次用户名/密码,但这只能在HTTPS上完成,因此不会以纯文本形式发送.经过身份验证后,您可以将用户ID存储在服务器端会话变量中,以便在将来的请求中进行访问.
一个小伪代码可以帮助您:
if(!empty($_SESSION["userId"])) {
// User is authenticated. Do something.
}
else if(!empty($_POST["username"])) {
// User is attempting to log in. Check against database.
$userId = getUserIdByUsernamePassword($_POST["username"], $_POST["password"]);
// Store user id in session variable.
if($userId > 0) {
$_SESSION["userId"] = $userId;
}
}
else {
// User is not authenticated.
}
常见的缺陷是将身份验证存储在cookie中. Cookie存储在客户端,因此如果您这样做,任何人都可以通过创建自己的cookie来伪造身份验证.
在PHP中使用会话变量时,会使用cookie,但它根本不识别用户,而是识别客户端和服务器之间的连接.
但要成功验证实际项目,不应依赖会话cookie.相反,会话变量,UUID cookie和盐渍哈希cookie的组合可以提高身份验证的完整性……但这完全是另一个主题.
php – 通过ajax从input type = file发送原始文件数据
<form enctype="multipart/form-data" id="imageupload"> <input name="files" type="file" /> <input type="button" value="Upload" /> </form>
现在我想用ajax请求发送所有文件.
此示例有效,但它有一个错误.在我保存的文件中,还有其他信息:
-----------------------------169443243924626 Content-disposition: form-data; name="files"; filename="shelby.png" Content-Type: image/png $.ajax({ url: 'imageupload.PHP',//server script to process data type: 'POST',xhr: function() { // custom xhr myXhr = $.ajaxSettings.xhr(); if(myXhr.upload){ // check if upload property exists myXhr.upload.addEventListener('progress',progressHandlingFunction,false); // for handling the progress of the upload } return myXhr; },//Ajax events //beforeSend: beforeSendHandler,//success: completeHandler,//error: errorHandler,// Form data data: new FormData($('#imageupload')[0]),//Options to tell JQuery not to process data or worry about content-type cache: false,contentType: 'multipart/form-data',processData: false });
现在我开始说:
$('#imageupload')[0].files.files[0]
我可以.我得到这个名字.但是如何获取原始文件数据?
解决方法
try this $filename = $_FILES['ur_image']['name'] ; $filesize = $_FILES['ur_image']['size']; $erro = $_FILES['ur_image']['error']; //checks UPLOAD_ERR_OK $tmpname = $_FILES['ur_image']['tmp_name']; $dest = ROOT_DIR.'/upload/logo/';
我们今天的关于如何通过ajax从php传回变量和ajax向php传值的分享就到这里,谢谢您的阅读,如果想了解更多关于javascript – 如何通过AJAX发送PHP数组?、php – 如何通过ajax提交和验证表单、php – 如何通过Ajax请求或每次加载页面来验证用户?、php – 通过ajax从input type = file发送原始文件数据的相关信息,可以在本站进行搜索。
本文标签: