我怎么能没有ajaxy善良做到这一点?我需要调试一个麻烦的PHP脚本。没有形式只是一个图像,当点击时执行以下操作。再次jquery发送数据到php没有ajax
$.post("php/navTabs.php", { action: "deleteTab", theHTM: thehtm }, function(jdata) {
alert("The tab was " + jdata.is_deleted);
}, "json");
感谢, 托德
我怎么能没有ajaxy善良做到这一点?我需要调试一个麻烦的PHP脚本。没有形式只是一个图像,当点击时执行以下操作。再次jquery发送数据到php没有ajax
$.post("php/navTabs.php", { action: "deleteTab", theHTM: thehtm }, function(jdata) {
alert("The tab was " + jdata.is_deleted);
}, "json");
感谢, 托德
简短回答:你不能使用Javascript。
龙答:
如果你想避免使用AJAX,你有两个选择:
1)制作一个表单的图像部分,在点击提交按钮隐藏的输入。
<form method="form.php" action="post">
<input type="hidden" name="action" value="delete"/>
...rest of form...
</form>
2)使图像成为链接到URL上的输入的链接。像:
form.php?action=delete
不知道为什么你想避免使用AJAX,但。
当然,如果可以完成,您可以直接访问脚本。 PHP文件存在? AJAX不会魔法解析出来的内容。 –
恩,是的,但是你不能使用jQuery/Javascript发送数据到PHP文件而不使用AJAX。您可以使图像成为一个链接,并像URL地址一样在URL中发送数据,或者您可以将其更改为表单,但无法使用AJAX通过jQuery/Javascript发送数据,至于I'意识到。 – Jemaclus
最后,我不想绕过Ajax,但我有一个PHP脚本,不正确的行事,我需要把一些var_dumps和回声看到WTF正在进行。 – maddogandnoriko
我会/ navTabs.php改变$ _ POST变量在PHP到$ _GET和访问脚本一样,直接
php/navTabs.php?name=value&name2=value2 etc
这样,你不你的方式没有阿贾克斯。
这种方法将允许你因为它透明的发生给用户,并允许一个回调函数使用非常类似于$.post()
流:
<img />
<iframe id="workFrame" style="display: none"></iframe>
<form action="php/navTabs.php" target="workFrame" method="post" style="display: none">
<input type=hidden id="hidden-1">
<input type=hidden id="hidden-2">
</form>
<script>
$('#hidden-1').val('some value to send to the server');
$('#hidden-2').val('some OTHER value to send to the server');
$('img').on('click', function() {
$('form').trigger('submit');
});
</script>
这使用具有隐藏的输入的形式(因此这可以是透明的给用户)。您可以使用JavaScript设置隐藏输入的值,然后以编程方式将表单提交给隐藏的iframe。
这种方法的另一个特点是,你可以绑定到load
事件的iframe,并有一个回调函数就像$.post()
:
$('#workFrame').on('load', function() {
var response = $(this).contents().filter('body');
//if you output JSON in your PHP script you could parse this as JSON and do work
});
UPDATE
如果你想do是看到你的PHP脚本的输出,那么你可以使用你的开发工具(FireBug等)来查看响应。您还可以在AJAX回调中记录响应:
$.post("php/navTabs.php", { action: "deleteTab", theHTM: thehtm }, function(jdata) {
alert("The tab was " + jdata.is_deleted);
console.log(jdata);
}, "json");
如果您当前未使用某些Dev。使用控制台的工具,我强烈建议检查FireBug,它将为您节省大量的时间调试代码。
您可以使用cURL从命令行发布。 –