从 php 脚本获取响应
Posted
技术标签:
【中文标题】从 php 脚本获取响应【英文标题】:getting response from a php script 【发布时间】:2013-07-13 11:52:48 【问题描述】:所以我创建了一个包含多个表单的 html 站点,使用 jQuery 对话框 UI 进行显示,使用 jQuery 表单插件进行 ajax 提交。
表格如下:
<form id="login_form" action="admin.php" method="post">
Username: <input type="text" name="username" id="username"/><br/>
Password: <input type="password" name="password" id="password"/>
</form>
...表单选项如下所示:
$('#login_form').dialog(
buttons:
"Login": function()
var options =
success: function(data)
alert(data);
$(this).dialog("close");
$('#news_form').dialog("open");
,
timeout: 3000,
fail: function(data)
alert('fail');
,
clearForm: true
;
// bind form using 'ajaxForm'
$('#news_form').ajaxSubmit(options);
,
"Exit": function()
$(this).dialog("close");
);
...而且php文件很简单:
<?php
$data = 'Herro!';
echo $data;
?>
问题是,成功时表单会返回作为提交源的 html 页面,而不是“Herro!”就像我预期的那样。那我做错了什么?
admin.html 和 admin.php 文件都在同一个目录中。
web 也是通过 xampp 在本地运行的,但我也尝试将它放在 web 服务器上,但没有任何改进。
最终编辑:问题实际上是因为我在 DOM 中调用了一个不同的表单对象来提交数据,一个没有设置 action 属性的表单。感谢大家的快速解决方案。
【问题讨论】:
你试过console.log消息吗? 听起来有点像权限错误..您使用的是什么操作系统? @msturdy Win 7 x64 Pro 你能告诉我们你在选项中设置了什么吗?$('#news_form').ajaxSubmit(options);
@piddl0r 第 4 行以后。
【参考方案1】:
将$('#news_form').ajaxSubmit(options);
更改为$('#login_form').ajaxSubmit(options);
【讨论】:
【参考方案2】:尝试将结果包装在 JSON 对象中(在 php 文件中),然后在 java 脚本端,您现在可以使用任何标准 json javascript 库(您可以在此处下载:http://www.JSON.org/json2.js)解码此 JSON 对象。
然后你下面的代码
admin.php:
<?php
$data = json_encode('Herro!');
echo $data;
?>
然后在你的 html(javascript) 中你可以做这个小调整:
<script>
var result; //adjustment 1
$('#login_form').dialog(
buttons:
"Login": function()
var options =
success: function(data)
result = JSON.parse(data); //adjustment 2
alert(result); //adjustment 3
$(this).dialog("close");
$('#news_form').dialog("open");
,
timeout: 3000,
fail: function(data)
alert('fail');
,
clearForm: true
;
// bind form using 'ajaxForm'
$('#news_form').ajaxSubmit(options);
,
"Exit": function()
$(this).dialog("close");
);
</script>
请记住引用您在页面中下载的 json2.js 文件。如果这对您有帮助,请告诉我。
【讨论】:
以上是关于从 php 脚本获取响应的主要内容,如果未能解决你的问题,请参考以下文章
从 PHP 脚本获取和解释 XML 文件响应的最简单方法是啥? [复制]
在 php 脚本中执行 curl 命令并从服务器获取响应并提取它