本文将介绍在ajax调用后使用PHP重定向的详细情况,特别是关于ajax调用php函数的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于AJAX调用P
本文将介绍在ajax调用后使用PHP重定向的详细情况,特别是关于ajax调用php函数的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于AJAX调用PHP 判断、ajax调用后使用PHP重定向、ASP.NET MVC 4中的jQuery Ajax调用后的服务器端重定向、asp.net-mvc-3 – MVC3重定向到ajax调用后的动作的知识。
本文目录一览:- 在ajax调用后使用PHP重定向(ajax调用php函数)
- AJAX调用PHP 判断
- ajax调用后使用PHP重定向
- ASP.NET MVC 4中的jQuery Ajax调用后的服务器端重定向
- asp.net-mvc-3 – MVC3重定向到ajax调用后的动作
在ajax调用后使用PHP重定向(ajax调用php函数)
我正在执行以下ajax调用:
$(''#save_sale'').click(function() { var save_sale = 1; $.ajax({ type: ''GET'', url: ''summary.php'', data: {save_sale: save_sale}, success: function(data) { /* Do something here?? */ }, error: function(xhr, ajaxOptions, thrownerror) { } });});
这是我的PHP:
function createSale() { if($sale_id = $this->link->inQuery("INSERT INTO nya_forsaljningar(personnr, status, datum) VALUES(''".$this->personnr."'',''".$this->status."'',''".$this->sale_date."'')")) { $this->link->inQuery("UPDATE services_temp SET active=1 WHERE temppdtls=''".$this->personnr."''"); $this->link->inQuery("UPDATE summary_temp SET active=1 WHERE personnr=''".$this->personnr."''"); header("Location: addcust.php?new_sale=$sale_id"); exit; } else { return false; //Kunde inte skapa försäljningen } }if(isset($_GET[''save_sale''])){ $sale_date = date(''Y-m-d''); //Datumet då man skapar försäljning $personnr = $_SESSION[''fil''][3]; //Personnummer på personen, använder detta för att ta fram de olika delarna från tabellerna $save_true = $_GET[''save_sale'']; //Försäkrar oss av att vi ska hantera en uppläggning av en nyförsäljning $new_sale = new newSale($personnr, $sale_date, $save_true, $link, $status=''Obehandlad''); //Skapar ett objekt av försäljningen som vi använder för att hantera den nya försäljning, kolla om den är ok, skapar kundbilden, nekar osv. if($new_sale->checkService()) { $new_sale->createSale(); //Skapar försäljningen } else { echo "Kunde inte skapa försäljningen"; exit; }}
创建销售后,我想重定向到addcust.php?New_sale = $ sale_id
我该怎么做?
答案1
小编典典您成功重定向:
$(''#save_sale'').click(function() { var save_sale = 1; $.ajax({ type: ''GET'', url: ''summary.php'', data: {save_sale: save_sale}, success: function(data) { window.location.href = ''addcust.php?new_sale='' + data }, error: function(xhr, ajaxOptions, thrownerror) { } });});
无论您从PHP脚本回显什么,都将在中data
。因此,echo $sale_id
,您将获得您的URL。
AJAX调用PHP 判断
总结
以上是小编为你收集整理的AJAX调用PHP 判断全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
ajax调用后使用PHP重定向
我正在做以下ajax调用:
$('#save_sale').click(function() {
var save_sale = 1;
$.ajax({
type: 'GET',
url: 'summary.PHP',
data: {save_sale: save_sale},
success: function(data) { /* Do something here?? */ },
error: function(xhr, ajaxOptions, thrownerror) { }
});
});
这是我的PHP:
function createSale()
{
if($sale_id = $this->link->inQuery("INSERT INTO nya_forsaljningar(personnr, status, datum) VALUES('".$this->personnr."','".$this->status."','".$this->sale_date."')"))
{
$this->link->inQuery("UPDATE services_temp SET active=1 WHERE temppdtls='".$this->personnr."'");
$this->link->inQuery("UPDATE summary_temp SET active=1 WHERE personnr='".$this->personnr."'");
header("Location: addcust.PHP?new_sale=$sale_id");
exit;
}
else
{
return false; //Kunde inte skapa försäljningen
}
}
if(isset($_GET['save_sale']))
{
$sale_date = date('Y-m-d'); //Datumet då man skapar försäljning
$personnr = $_SESSION['fil'][3]; //Personnummer på personen, använder detta för att ta fram de olika delarna från tabellerna
$save_true = $_GET['save_sale']; //Försäkrar oss av att vi ska hantera en uppläggning av en nyförsäljning
$new_sale = new newSale($personnr, $sale_date, $save_true, $link, $status='Obehandlad'); //Skapar ett objekt av försäljningen som vi använder för att hantera den nya försäljning, kolla om den är ok, skapar kundbilden, nekar osv.
if($new_sale->checkService())
{
$new_sale->createSale(); //Skapar försäljningen
}
else
{
echo "Kunde inte skapa försäljningen";
exit;
}
}
创建销售后,我想重定向到addcust.PHP?new_sale = $sale_id
我怎么能做到这一点?
解决方法:
您重定向成功:
$('#save_sale').click(function() {
var save_sale = 1;
$.ajax({
type: 'GET',
url: 'summary.PHP',
data: {save_sale: save_sale},
success: function(data) {
window.location.href = 'addcust.PHP?new_sale=' + data
},
error: function(xhr, ajaxOptions, thrownerror) { }
});
});
无论你从PHP脚本回复什么,都将在数据中.所以echo $sale_id你会得到你的网址.
ASP.NET MVC 4中的jQuery Ajax调用后的服务器端重定向
我将登录信息从jQuery AJAX调用发送到MVC 4控制器:
$.post(url, data, function (response) { if (response==''InvalidLogin'') { //show invalid login } else if (response == ''Error'') { //show error } else { //redirecting to main page from here for the time being. window.location.replace("http://localhost:1378/Dashboard/Index"); } });
如果登录成功,我想根据用户类型将用户从服务器端重定向到适当的页面。如果登录失败,则会将字符串发送回用户:
[HttpPost] public ActionResult Index(LoginModel loginData) { if (login fails) { return Json("InvalidLogin", JsonRequestBehavior.AllowGet); } else { // I want to redirect to another controller, view, or action depending // on user type. } }
但是有问题:
如果此方法返回“ ActionResult”,那么我将收到错误消息
not all code paths return a value
。如果我使用“ void”,则无法返回任何内容。
即使我使用“ void”且没有返回值,由于jQuery AJAX调用的异步特性,我也无法重定向到其他控制器或视图。
有什么技术可以处理这种情况?
答案1
小编典典return
通常从方法返回而无需执行任何其他语句,因此else
不需要。这样,您将摆脱问题#1。
至于重定向,为什么不返回某种 重定向 命令:
[HttpPost]public ActionResult Index(LoginModel loginData){ if (login fails) { return Json(new {result = "InvalidLogin"}, JsonRequestBehavior.AllowGet); } return Json(new {result = "Redirect", url = Url.Action("MyAction", "MyController")});}
然后在javascript中:
$.post(url, data, function (response) { if (response.result == ''InvalidLogin'') { //show invalid login } else if (response.result == ''Error'') { //show error } else if (response.result == ''Redirect''){ //redirecting to main page from here for the time being. window.location = response.url; } });
asp.net-mvc-3 – MVC3重定向到ajax调用后的动作
当单击按钮时,调用一个函数,并调用jquery ajax来将项保存到数据库
function SaveMenuItems() { var encodeditems = $.toJSON(ids);; $.ajax({ type: 'POST',url: '@Url.Action("SaveItems","Store")',data: 'items=' + encodeditems + '&storeKey=@Model.StoreID',complete: function () { } } }); }
我想要的是将项目保存到数据库后,我想重定向到另一个视图. (重定向到动作)
我怎样才能做到这一点?
我试图在SaveItems函数的末尾使用返回RedirectToAction(“Stores”,“Store”).但它不工作
我也尝试添加window.location.replace(“/ Store / Stores”);在ajax调用的完整功能,但也不工作
任何帮助是极大的赞赏
非常感谢
解决方法
var saveUrl = '@Url.Action("SaveItems","Store")'; var newUrl= '@Url.Action("Stores","Store")'; $.ajax({ type: 'POST',url: saveUrl,// Some params omitted success: function(res) { window.location.href = newUrl; },error: function() { alert('The worst error happened!'); } });
或在完成的事件
$.ajax({ url: someVariableWhichStoresTheValidUrl }).done(function (r) { window.location.href = '@Url.Action("Stores","Store")'; });
上面的代码使用Url.Action帮助程序来构建动作方法的正确的相对url.如果您的JavaScript代码位于外部JavaScript文件中,您应该将该URL设置到应用程序根目录,并将其传递到外部js文件中的脚本/代码中,并使用它将该URL编译为this post中所述的操作方法.
传递参数?
如果要将一些querystring参数传递给新的url,可以使用接收路由值的Url.Action方法的this overload以及使用querystring构建url.
var newUrl = '@Url.Action("Stores","Store",new { productId=2,categoryId=5 })';
其中2和5可以替换为其他一些实际值.
由于这是一个html帮助器方法,它将仅在您的剃刀视图中工作,而不是在外部js文件中.如果您的代码位于外部的js文件中,则需要手动构建url querystring参数.
在服务器端生成新的URL
通过使用mvc帮助器方法为action方法生成正确的URL,总是一个好主意.从你的action方法,你可以返回一个json strucutre,它有一个属性为新url被重定向.
您可以使用控制器中的UrlHelper类来执行此操作.
[HttpPost] public ActionResult Step8(createuser model) { //to do : Save var urlBuilder = new UrlHelper(Request.RequestContext); var url = urlBuilder.Action("Stores","Store"); return Json(new { status = "success",redirectUrl = url }); }
现在在你的ajax调用的成功/完成回调,只需检查返回值和重定向根据需要.
.done(function(result){ if(result.status==="success") { window.location.href=result.redirectUrl; } else { // show the error message to user } });
关于在ajax调用后使用PHP重定向和ajax调用php函数的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于AJAX调用PHP 判断、ajax调用后使用PHP重定向、ASP.NET MVC 4中的jQuery Ajax调用后的服务器端重定向、asp.net-mvc-3 – MVC3重定向到ajax调用后的动作的相关知识,请在本站寻找。
本文标签: