我有提交给php服务器的html表单。如果我以带有提交按钮和action =" screen_custom.php"的标准方式提交表单,则可以正常工作。我看到一个充满有效JSON数据的页面。

但是,如果我使用jquery ajax调用提交表单,则会返回一个空的json数组。我相信php由于某些未知原因无法找到表单值。无论如何,我如何在ajax调用期间调试php?响应必须仅包含填充jquery DataTable所需的数据。如果我回显调试输出,则数据表将无法填充。

这是一些将表单成功提交到php并返回良好json数据的代码。

Filter By Criteria Show
Appreciation Potential (%)

Any

> 0%

> 10%

这是一些无法返回相同json数据的代码:

Filter By Criteria Show
Appreciation Potential (%)

Any

> 0%

> 10%

Run

和javascript:

function runCustomScreen() {

$('#customTable').DataTable({

"ajax": {

type: 'POST',

url:"screen_custom.php",

data: $('#criteriaForm').serialize(),

complete: function(jqXHR, textStatus) {

console.log("Run was successful, textStatus="+textStatus);

},

error: function(e, textStatus, errorThrown) {

alert("textStatus="+textStatus +", errorThrown="+errorThrown);

}

}

});

return false;   //needed if called by onclick event

}

这是php中处理表单数据并返回json的部分:

$upside = $_POST["upside"];

$sql ="SELECT * FROM stocks" .$where;

//echo ''

//echo 'sql=' .$sql .'';

//echo 'console.log(' .$sql .')';

//echo '';

$rs = mysql_query($sql);

//store result in an array

$results = array();

while($row = mysql_fetch_object($rs))

{

$results[] = $row;

}

$data = json_encode($results);

echo '{"data":' .$data .'}';

//close the db connection

mysql_close($connection);

请注意,如果我取消注释除了最后一个回声,则不会填充数据表。那么我该如何调试呢?

可能是分开的,但是echo {"data": .$data .};只是...为什么?

您需要在返回时指定dataType,因为您是json中的encodin。 在成功函数之前添加ajax调用:dataType:" json",从php端,您只需要返回$ data,例如:echo $ data;

我想出了如何调试它。 在chrome调试器中,选择"网络"标签,然后从列表中选择" screen_custom.php",然后选择"响应"标签。 它显示了php的输出。 我取消对echo sql语句的注释,并且可以看到实际上,正如我所怀疑的,表单参数没有被读取。

然后我搜索了这个问题,发现解决方案是修改数据paramenter js,如下所示:

data: function(d) {

var form_data = $('#criteriaForm').serializeArray();

$.each(form_data, function(key,val) {

d[val.name] = val.value;

});

},

我不知道第一个方法为什么不起作用,因为我可以看到在标题中发送了正确的参数。 但这有效。

您是否尝试过在PHP脚本上使用isset($_POST['value'])方法? 其中value是您将分配给提交按钮的名称。

我想出了如何调试它。 在chrome调试器中,选择"网络"标签,然后从列表中选择" screen_custom.php",然后选择"响应"标签。 它显示了php的输出。 我取消对echo sql语句的注释,并且可以看到实际上,正如我所怀疑的,表单参数没有被读取。 但为什么?

@ user3217883尝试将名称也设置为选择框中的选项值

ajax php断点调试,关于javascript:如何在jquery ajax调用期间调试php相关推荐

  1. mvc jquery ajax方法,asp.net mvc-如何在jQuery $ .ajax()中将模型发送请求到MVC控制器方法...

    asp.net mvc-如何在jQuery $ .ajax()中将模型发送请求到MVC控制器方法 在使用以下代码进行自动刷新时,我假设执行发布后,模型将自动发送给控制器: $.ajax({ url: ...

  2. php中如何调用javascript,如何在php中调用javascript代码?

    JavaScript是客户端脚本语言,PHP是用于与数据库交互的服务器端脚本语言.那么如何在php中调用javascript代码?下面本篇文章给大家介绍一下.有一定的参考价值,有需要的朋友可以参考一下 ...

  3. ajax 与 err_connection_refused,如何在jquery ajax中处理net :: ERR_CONNECTION_REFUSED

    4 个答案: 答案 0 :(得分:6) 您可以使用timeout $.ajax属性触发error回调. 如果服务器在特定时间限制内没有响应,这将确保触发error回调. $.ajax({ url: & ...

  4. jquery ajax 延迟执行,javascript – 尝试为jQuery AJAX请求添加延迟

    我试图延迟一个 AJAX请求,以便在输入单元的最后一个键盘后2-3秒发送它. 到目前为止,我已设法延迟请求,但在2-3秒后,我收到一个请求发送给该字段中的每个密钥- 如何让jQuery取消第一个并发送 ...

  5. android机上没有usb调试模式吗,如何在Android上启用USB调试

    Android系统的手机以及平板电脑占有巨大的市场份额,当使用USB数据线完成电脑端与安卓手机端数据传输时,需要将安卓手机开启USB调试模式. 什么是USB调试?USB调试是一种模式,允许Androi ...

  6. 在dw中如何调试html代码,如何在 Dreamweaver 中优化和调试代码 - Dreamweaver 用户指南...

    了解如何在 Dreamweaver 中清除代码.检查浏览器兼容性.验证 XML 文档并使页面符合 XHTML 规范. 清理代码 您可以自动删除空标签,合并嵌套 font 标签,以及通过其它方法改善杂乱 ...

  7. mvc ajax提交多选,javascript – 如何使用Jquery AJAX调用MVC Action然后在MVC中提交表单?...

    在我的MVC视图我有按钮: 当我点击这个按钮我需要调用一个动作,做一些东西,然后提交我的表单. 我有这个jQuery: $('#btnSave').click(function () { $.ajax ...

  8. 表单ajax提交插件,详解javascript表单的Ajax提交插件的使用

    Ajax 提交插件 form.js 插件有两个核心方法:ajaxForm()和ajaxSubmit(),它们集合了从控制表单元素到决定如何管理提交进行的功能. //ajaxForm 提交方式 $('# ...

  9. php ajax传递变量,将PHP变量传递回jQuery $.ajax函数

    1. HTML 我有一个输入请求用户输入他们的PIN码: < input type ="text"name ="pin"maxlength =" ...

  10. ajax asp后台获取不到post数据,jQuery AJAX调用将数据发布到ASP.Net页面(不是Get但POST)...

    选项1.保持服务器端代码相同 首先删除kendo.stringify.然后删除contentType或将其更改为- "application/x-www-form-urlencoded; c ...

最新文章

  1. php 判断是否gzip,PHP网站判断页面文件或图片是否经过gzip压缩
  2. 搜索引擎优化(独立阐述)
  3. -Git 使用技巧 总结 MD
  4. 第一章 Matlab的简单介绍
  5. Oracle数据库查看用户状态
  6. BufferedReader_字符缓冲输入流
  7. 清华裴丹:AIOps 落地路线图
  8. 【dfs】树(jzoj 2753)
  9. Java父类强制转换子类原则
  10. unity要学ecs吗_ECS的泛泛之谈
  11. charles 华为手机使用_华为手机EMUI9.0健康使用手机怎么用?如何控制手机使用时长?...
  12. Tomcat启动项目没问题,网页一片空白
  13. stm32f4 dma da正弦波发生器 keil5 hal库 CubeMX
  14. python-贪心算法
  15. 清华大学马少平:一款智能硬件背后的“AI争霸”...
  16. PowerDesigner修改设置表格背景色
  17. 【西祠日志】【05】修修补补asp留言板,学习git,asp的ajax实现(2015.07.21周二)
  18. pmf-automl源码分析
  19. 瑞尔森大学的计算机科学专业,瑞尔森大学专业介绍
  20. 基于词表和N-gram算法的新词识别实验

热门文章

  1. java 对excel指定单元格的数据修改后并输出到指定文件夹
  2. ArrayList以及List的常用方法
  3. qt deleterLater
  4. ORACLE RAC 手动建库
  5. 基于海思IVE实现绊线/区域入侵的基本算法流程
  6. systemtap的一些总结
  7. TC中的HTB队列简单创建与过滤
  8. 对zebra的一点思考 --- 002
  9. 任务调度的合理性(拓扑排序)
  10. mac nginx映射ip和端口_南京课工场IT培训:Nginx虚拟主机 (基于域名 基于端口 基于ip)...