将.post转换为等效的.ajax
Converting .POST into equivalent .AJAX
我需要改变我的一个。post javascript调用等效的。ajax调用,但我似乎不能使它工作。(我需要使它异步,并且帖子不允许这个额外的选项)。
原来的工作。post调用如下:
$.post('includes/save_my_note.php', { pagenum: lastpage, userid: <?php echo $logged_user_id; ?>, subid: <?php echo $snipid; ?>, thenote: mynote, doctype: dtype, fileid: <?php echo $file_id; ?> });
它是javascript变量和插入的php变量的组合,但它在我的代码中完美地工作,调用函数并通过$_POST变量传递所有变量。
为了将其转换为完全等效的.ajax调用,我将其转换为以下内容:
$.ajax({
type: 'POST',
url: "includes/save_my_note.php",
data: "{ pagenum: " +lastpage+ ", userid: <?php echo $logged_user_id; ?>, subid: <?php echo $snipid; ?>, thenote: " +mynote+ ", doctype: " +dtype+ ", fileid: <?php echo $file_id; ?> }"
});
从看。post和。ajax文档,我认为这些应该是相同的在他们的执行,但它不工作。
有人知道正确的语法把我的post调用变成ajax调用吗?我一定是错过了什么,除非幕后发生了比我知道的更多的事情。
"{ pagenum: " +lastpage+ ", userid: <?php echo $logged_user_id; ?>, subid: <?php echo $snipid; ?>, thenote: " +mynote+ ", doctype: " +dtype+ ", fileid: <?php echo $file_id; ?> }"
和
{ pagenum: lastpage, userid: <?php echo $logged_user_id; ?>, subid: <?php echo $snipid; ?>, thenote: mynote, doctype: dtype, fileid: <?php echo $file_id; ?> }
在这里是必不可少的。前者是字符串,后者是对象字面量。只有后者在这里起作用。如果你想使用字符串,你应该这样做
data: "pagenum=" + lastpage + "&userid= .....
$.post
默认为异步。你是说你想让它同步吗?
在这种情况下,不要为$.ajax
操心。就叫
$.ajaxSetup({async:false});
在呼叫.post()
之前。但是要注意:同步请求经常会导致浏览器"锁定",这是非常丑陋的,并且会吓到用户。在异步请求上使用一个简单的加载指示器就能达到这个效果吗?
相关文章:
- 如何使用自定义标头跨域执行AJAX POST
- 为什么 AJAX POST 请求不起作用
- Ajax POST请求没有'我不了解PHP
- 数据未从ajax POST返回
- AJAX Post的奇怪Javascript/PHP行为
- 使用javascript ajax post方法的未定义偏移PHP错误
- PHP/Ajax/jquery/JON-在Ajax Post之后将echo文本中的一部分作为变量返回
- Ajax Post请求不起作用
- 使用AJAX POST从javascript到带有Strong参数的Rails4控制器
- jQuery AJAX Post方法错误(语法错误)
- Jquery Ajax POST不工作.适用于GET
- 正在拆分AJAX POST变量
- 发送jquery-ajax$.post后重置连接
- ajax post在webapi中传递null参数
- 如何在javascript中使用ajax post更改密码
- 传递单元格值以便使用ajax post更新表
- 如何使用带有动态接受好友按钮的ajax post更新更多的表
- 如何将AJAX POST转换为HTTP POST,以便在单击时发布
- Ajax POST返回成功,但没有;t更新JSON文件
- 通过 ajax POST 向 PHP 发送两个值以查询 SQL 数据库