首页 > 解决方案 > 在相同的窗口中打开 PHP 传递参数

问题描述

如何在同一窗口中使用 ajax 打开带有参数的 PHP 页面?

我这样做是这样的:

$.ajax({
  url:'stavkenalog.php',
	method:'POST', 
	data: {'UIDNalog':item_id },
	success:function(data)
	{			
		window.location.assign("stavkenalog.php?UIDNalog=" + item_id);			
	}
});

但我想避免以这种方式发送参数:

window.location.assign("stavkenalog.php?UIDNalog=" + item_id);  

而不是上面这个我想发送

数据

这有可能吗?

标签: phpjqueryajax

解决方案


我不太清楚你的意图。如果您使用 AJAX,似乎不需要重定向到页面。

话虽如此,您可以使用 jQuery 动态生成 a<form><input>元素,然后提交表单。

var data = {
  'UIDNalog': 3
};

$.ajax({
  url: 'https://httpbin.org/post',
  method: 'POST',
  data: data,
  success: function(result) {

    console.log('Data: ' + JSON.stringify(data));
    console.log('Got AJAX response.');

    var $form = $('<form>', {
      'action': 'https://httpbin.org/post',
      'method': 'post',
      'enctype': 'application/x-www-form-urlencoded'
    });

    $.each(data, function(k, v) {
      jQuery('<input>', {
        'type': 'hidden',
        'name': k,
        'value': v
      }).appendTo($form);
    });

    console.log('Submitting in 3 seconds...');

    setTimeout(function() {
      $form.hide().appendTo('body').submit();
    }, 3000);

  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


推荐阅读