如何在同一页面中调用ajax页面?
我有两个文件demo.php和post.php 。 我怎么能在单页而不是两页。
demo.php
Dynamic Form $(document).ready(function(){ $("form").on('submit',function(event){ event.preventDefault(); data = $(this).serialize(); $.ajax({ type: "POST", url: "post.php", data: data }).done(function( msg ) { alert( "Data Saved: " + msg ); }); }); });
post.php中
如何在不将数据从一个页面传递到另一个页面的情况下使用demo.php中的post.php数据。
更改你的ajax的url
$.ajax({ type: "POST", url: "demo.php", data: data }).done(function( msg ) { alert( "Data Saved: " + msg ); });
并在demo.php中添加它
我有一些个人观察:
- 这是方法中的第一个:我不认为有两个单独的文件是一个坏主意。 这不是一个很好的优化。 现在,您希望单个文件以两种不同的方式处理GET请求和POST(一个用于AJAX,一个用于普通POST,以防您希望javascript正常降级。
- 您可能想要删除该“onchange”属性。 研究Unobtrusive JavaScript的概念,了解为什么这是一个好习惯
- 永远不要相信用户输入:始终清理并适当validation
- bellow是重写文件的一个版本。 注意事项我已经将
onChange
重新考虑了一些更易于维护的内容,并且我正在使用JS来初始隐藏输入和提交按钮。 这样,如果禁用JS,用户仍可以添加国家/地区。 -
为了确定post是如何被触发的,我将一个额外的标志
ajax=1
传递给post。动态表格$(文档).ready(function(){$(’#country’)。on(’change’,hideStuff);
// hide the buttons to add extra option $('#other, #submit').hide(); function hideStuff() { var select = $(this); var flag = select.val() === 'other'; $('#other, #submit').toggle(flag); } $("form").on('submit',function(event){ event.preventDefault(); data = $(this).serialize() + "&ajax=" + 1; $.ajax({ type: "POST", url: $(this).data('url'), data: data }).done(function( msg ) { alert( "Data Saved: " + msg ); }); }); });
这很简单,只需将下面的代码粘贴到上面的代码即可。
并删除jquery ajax调用。
Dynamic Form
您可以将url更改为demo.php
并使用下面的一个以及exit();
,
首先你改变$ ajax的url
$.ajax({ type: "POST", url: "demo.php", data: data }).done(function( msg ) { alert( "Data Saved: " + msg ); });
然后改变你的“demo.php”
Dynamic Form
试试这个
希望这对你有帮助,但我不明白“数据”是什么。 确保它是一个字段或提供页面所需值的变量。
$("form").on("submit",function() { $.ajax({ type : "GET", cache : false, url : "post.php", data : { data : data }, success : function(response) { $('#content').html(response); } }); });
- AJAX-PHP如果validation失败,请保持同一页面
- 有没有办法从JQuery Ajax调用返回一个值(在我的情况下是xml)
- 如何在jquery中解码/分离php编码的json。
- jQuery:捕获ajaxexception
- Ajax调用没有调用服务器端,并且在httpxx中显示错误为“在ajax post调用中加载内容错误(NS_ERROR_DOCUMENT_NOT_CACHED)”
- 如何在页面加载时显示ajax加载gif动画?
- 如何使用jquery load方法将文件内容加载到变量中?
- jquery ajaxpost说Access-Control-Allow-Origin不允许使用xxx
- 如何使用jQuery和AJAX将PHP页面加载到div中?