我试图使用AJAX调用仅将$_POST
的变量(来自$_POST
数组的变量)发送到PHP文件中。我不想说成功:alert('ok, it's fine')
或$('blah').text('done it!')
。我想将变量发布到PHP文件的$_POST
表中,仅此而已。好的,让我们看看下面的文件:
ajax.php
echo '<script type="text/javascript" src="http://'.$_SERVER["HTTP_HOST"].'/media/system/js/jquery_check.js"></script>';
echo '<script type="text/javascript" src="http://'.$_SERVER["HTTP_HOST"].'/ajax.js"></script>';
ajax.js
jQuery(document).ready(function () {
jQuery.ajax({
url: "ajax.php",
type: "POST",
data: { id:12345,whatever:'blahblah' },
success: function (data) {
alert(data);
}
});
});
因此,当我用这个例子运行ajax.php
时,我会得到警报信息:
<script type="text/javascript" src="http://localhost.dev/media/system/js/jquery_check.js"></script><script type="text/javascript" src="http://localhost.dev/ajax.js"></script>
如果我在成功函数中放入例如jQuery('#photoid').text(data);
,并在PHP文件中添加<div id="photoid"></div>
,另外添加var_dump($_POST)
,我将在屏幕上获得此HTML响应(以及作为警报信息):
<script type="text/javascript" src="http://localhost.dev/media/system/js/jquery_check.js"></script><script type="text/javascript" src="http://localhost.dev/ajax.js"></script>array(2) { ["id"]=> string(5) "12345" ["whatever"]=> string(8) "blahblah" } <div id="photoid"></div>
我想做的是一个调用,它将使我的PHP文件只发送后数据(id
和whatever
)并写入PHP文件中的$_POST
超全局数组。所以我不需要这些脚本之类的东西,因为在我真正的PHP脚本中,我不需要在网站上显示任何HTML数据,只需要PHP文件接收POST数据。这可能吗?
无论如何,div
代码对我来说是不必要的,但正如我所看到的,它必须存在,才能读取任何POST数据。POST数据也被写入array(1)
或array(2)
,而不是标准的$_POST
阵列,因此我只能通过使用foreach
循环读取数据($_POST['id']
显示错误,没有可用的此类索引)。
如果XAMPP很重要,我会在本地使用它。但这在当地也应该起作用。
有什么想法吗?
删除
success: function (data) {
alert(data);
}
部分。用于文档检查Jquery文档
使用专门用于此目的的$.getScript()
。由于您想要激发POST
请求,因此可以通过这种方式使用$.ajax()
。
jQuery(document).ready(function () {
jQuery.ajax({
url: 'ajax.php',
dataType: "script",
});
});