jquery:调用不可见的php邮件程序?AJAX
嘿,伙计们, 我知道如何创建一个简单的php文件,将一些信息发送给我 然而,我不知道的是如何使用jquery调用该php文件并传递一个变量。 传递变量可能与jquery:调用不可见的php邮件程序?AJAX,php,javascript,ajax,jquery,Php,Javascript,Ajax,Jquery,嘿,伙计们, 我知道如何创建一个简单的php文件,将一些信息发送给我 然而,我不知道的是如何使用jquery调用该php文件并传递一个变量。 传递变量可能与isset()… 我如何从jquery调用这个PHP邮件程序并对用户隐藏它。因此,不应该弹出一个新窗口,也不应该出现页面刷新或类似的情况 $('a.report').click(function(e) { e.preventDefault(); var id = $(this).attr('href');
isset()…
我如何从jquery调用这个PHP邮件程序并对用户隐藏它。因此,不应该弹出一个新窗口,也不应该出现页面刷新或类似的情况
$('a.report').click(function(e) {
e.preventDefault();
var id = $(this).attr('href');
//call mail script and pass along the "id" variable
//change text (maybe in a callback function IF THE MAILING WAS A SUCCESS.
$(this).parent().text('Thank you for reporting.');
})
所以我有这个a.report链接,它应该会触发电子邮件脚本。在我的电子邮件脚本中,我需要访问jquery中设置的“id”变量。如果php脚本能够做到这一点,那么拥有一个回调函数就更好了,这样我就可以输出“感谢您的报告”
怎么做
谢谢大家。请参阅$.post,了解如何调用并将id传递给php脚本() 这将是一种悲哀
$.ajax({
context: $(this),
type: 'POST',
url: 'script.php',
data: {id: id },
success: function() {
$(this).parent().text('Thank you for reporting.');
}
});
在php脚本中,$id=$\u POST['id']代码>尝试:
$.post('script.php', {variableName: value, variable2Name: value2});
在php中:$value=$\u请求['variableName']$value2=$_请求['variable2Name']代码>我会使用$.post()
:
更新:以下是如何将回调“绑定”到特定元素的方法:
<script type='text/javascript'>
$(function(){
$('a.report').click(function(){
var htmlElement = $(this).parent();
var data = {
// ...
};
$.post(
document.location.toString(),
data,
function(data) {
htmlElement.html(data.message);
},
'json'
);
return false;
});
});
</script>
$(函数(){
$('a.report')。单击(函数(){
var htmlElement=$(this.parent();
风险值数据={
// ...
};
美元邮政(
document.location.toString(),
数据,
功能(数据){
html(data.message);
},
“json”
);
返回false;
});
});
jQuery为我们提供了一些很棒的AJAX方法。我想这就是你要找的。以下是我如何将JSON数据发送到Grooveshark userscript中的简单PHP脚本:
$.ajax({
type: 'POST',
url: 'http://path/to/script.php',
data: JSON.stringify({key: 'value', array: ['one', 'two', 'three']),
dataType: 'json',
success: function(data){
console.log('Mailer returned with object ', JSON.parse(data) );
}
});
下面是我如何在PHP中解析它:
$incoming = json_decode(file_get_contents("php://input"), true);
这将返回JSON内容的嵌套关联数组,非常容易解析!我强烈建议使用JSON作为数据交换格式。比XML好得多。我不想将消息放入.result div,而是替换触发mailer.php的链接。单击时,我将链接文本替换为。。。(3点),当mailer.php的响应返回时,我想用“感谢您的报告”消息替换它的整个父级。另一种方法是将一些ID传递给mailer.php
,然后返回。ID将指向DB中的特定行和HTML中的特定元素。然后您可以在onReportPosted(data)
中执行类似于$('#item_'+data.id).text(data.message)
的操作。
$.ajax({
type: 'POST',
url: 'http://path/to/script.php',
data: JSON.stringify({key: 'value', array: ['one', 'two', 'three']),
dataType: 'json',
success: function(data){
console.log('Mailer returned with object ', JSON.parse(data) );
}
});
$incoming = json_decode(file_get_contents("php://input"), true);