无法通过JQuery将POST数据发送到用PHP编写的ControllerMVC
我想通过POST方法发送数据,它将通过formulage中JQuery上的$.ajax metod发送。我正试图将这些数据发送到用PHP编写的控制器。我对MVC不太了解,但我读到控制器负责从用户那里收集数据,例如通过填写公式 代码如下:无法通过JQuery将POST数据发送到用PHP编写的ControllerMVC,php,jquery,http-post,url-routing,Php,Jquery,Http Post,Url Routing,我想通过POST方法发送数据,它将通过formulage中JQuery上的$.ajax metod发送。我正试图将这些数据发送到用PHP编写的控制器。我对MVC不太了解,但我读到控制器负责从用户那里收集数据,例如通过填写公式 代码如下: `$.ajax({ type: 'POST', url: 'http://www.somepage.pl/index.php?strona=uzytkownicy', data: {
`$.ajax({
type: 'POST',
url: 'http://www.somepage.pl/index.php?strona=uzytkownicy',
data: {
login: hLogin_u,
nazwaOddzialu: hNazwaOddzialu,
haslo: hPassword,
nazwa: hNazwa_u,
tylkozip: hTylkoIP,
uprawnienia: myDataCheck
},
timeout: 5000,
cache: false,
success: function(msg){
alert('Zapytanie zakonczylo sie sukcesem! Zwrócone dane to '+msg);
},
beforeSend: function() {
$('#errorDiv').show();
//alert('zaraz wysle sie ajax');
},
error: function(){
$('#errorDiv').html('<p>Przepraszamy wystąpił błąd!</p>').show();
//alert('error nastapil');
}
});
控制器名称和操作名称是什么?您正在将数据发送到index.php而不是controler.php文件。您需要将其发送到正确的位置,或者需要使用某种类型的重写来正确路由。控制器负责更改模型层的状态。因此,如何将此数据发送到控制器。在$.ajax()方法中使用什么url?
class Controller // kontroler
{
// składowe
private $strona;
private $model;
private $widok;
// konstruktor
public function __construct()
{
$this->loadModel();
$this->takeData();
$this->loadView();
$this->runView();
}
// załadowanie odpowiedniego modelu
private function loadModel()
{
if (Autoryzacja::czyZalogowany() == false)
{
$this->strona = "logowanie";
}
else
{
if (!isset($_GET['strona']))
{
$this->strona = "glowna";
}
else
{
$this->strona = Narzedzia::security_get($_GET[strona]);
global $baza;
$baza->execute("SELECT 1 FROM wiadomosci WHERE
wiadomosci.pracownik in (1,8) AND
NOT EXISTS
(SELECT 1 FROM wiadomosci_przeczytania WHERE
wiadomosc=id_wiadomosci AND
pracownik=$_SESSION[zalogowany_id_c9])");
if ($baza->count() > 0)
{
$this->strona = "glowna";
}
}
}
$dane=array("logowanie","glowna","dodajw","kalkulator","hasla","zarzadzaj","edycja","chat"," skan",
"logi","ajax_logi","kalendarz","ajaxkalendarz","uzytkownicy");
if (!in_array($this->strona,$dane))
{
$this->strona = "glowna";
}
$this->model = new $this->strona();
}
// załadowanie danych przez model
private function takeData()
{
$this->model->loadData();
}
// załadowanie odpowiedniego widoku
private function loadView()
{
$w = $this->strona."_widok";
$this->widok = new $w($this->model);
}
// uruchomienie widoku
private function runView()
{
$this->widok->show();
}
}`