我想使用AJAX将JavaScript变量传递给PHP文件,然后将PHP文件的结果返回给JavaScript变量。
为了将JavaScript变量传递给PHP文件,我认为它类似于how to use ajax to assign javascript variable to php variable
我的JavaScript变量将用于查询MySQL数据库,然后我需要PHP将数据库中的值返回给JavaScript变量。
我知道你可以这样做:
$(document).ready(function() {
Quantity = parseInt(str);
$("#ajaxResult").load($.ajax({url:"yourphp.php",type:"POST",async:false,data:{quantity:Quantity}}););
});
将PHP文件的结果设置为在标识为ajaxResult
但是我怎样才能在结果中设置变量呢?
$(document).ready(function() {
Quantity = parseInt(str);
var result = $.load($.ajax({url:"yourphp.php",type:"POST",async:false,data:{quantity:Quantity}}););
});
答案 0 :(得分:2)
我认为您可能正在寻找success
的{{1}}属性?
$.ajax
您也可以使用returnVariable = NULL;
$.ajax({
url:"yourphp.php",
type:"POST",
async:false,
data:{quantity:Quantity},
success:function(d){
returnVariable = d;
}
});
:
.done()
答案 1 :(得分:0)
您需要分配传递给成功处理程序的参数结果:
$.ajax({
url: "yourURL.com",
data: jsonString,
dataType: 'json',
success: function(data){
var myNewJSVar = data;
}
});
答案 2 :(得分:0)
使用$ .post();相反......
在您的情况下,您可以使用:
$.post('url-to-post', {'var-name':'var-value'}, function(data) {
// here 'data' has the data returned by your .php file
});
这里是$ .post()http://api.jquery.com/jQuery.post/
的文档答案 3 :(得分:0)
不完全将结果存储到全局变量中的ajax查询中:
$(document).ready(function() {
var quantity = parseInt(str);
var result = null;
$.ajax({url:"yourphp.php",
type:"POST",
async:false,
data:quantity,
success: function(data) {
result = data;
}
});
});
ajax调用是异步的,因此该值将在http调用和返回后分配 - 这可能需要几秒钟。一旦http调用具有来自服务器的结果,将运行成功回调。通常,更新html页面的代码可能会在$('resultDiv').html(data);
运行。这是.load()
调用在您之前的帖子中执行的操作。
Jquery提供了许多快捷方法,例如.post()
,.load()
,使用.ajax()
可以实现所有相同的效果,尽管它会涉及更多的输入!