1
シレックスとJQueryがどのように連携しているかを理解しようとしています。しかし、私はそれを理解していません。JQuery AjaxをSilexで使用する方法
私は、AJAX呼び出しを含むtwig-Templateの魔法使いを持っています。 私はアプリケーションにAjax呼び出しをバインドする方法を理解していません。
JS:
$(document).ready(function() {
/*
setInterval(function() {
$.ajax({
url: '/Chat/services/AjaxCom.php',
type: 'GET',
method: 'GET',
data: {message: message},
success: function() {
console.log(data);
},
error: function() {php
console.log('error');
}
});
return false;
}, 100);
*/
$('form').submit(
function (event) {
event.preventDefault();
var daten = $('#message').val();
$.ajax({
url: '/Chat/web/index.php',
type: 'GET',
data: {message: daten},
success: function (daten) {
alert(daten);
$('#message').val(' ');
//console.log(daten);
},
error: function() {
console.log('error at writing');
}
});
});
});
私はこのクラスを呼び出すためにワンド:
<?php
namespace resources\services;
resources\controller\UserOnline;
use resources\objects\Message;
use Silex\Application;
/**
* Class AjaxCom
* @package resources\controller
*/
class AjaxCom
{
/**
* @var array
*/
private $chatOutput = [];
/**
* @var array
*/
private $userOutput = [];
/**
* @var
*/
private $ddConnect;
/**
* @return array
*/
public function getChatOutput()
{
return $this->chatOutput;
}
/**
* @return array
*/
public function getUserOutput()
{
return $this->userOutput;
}
/**
* AjaxCom constructor.
* @param $datenbankVerbindung
*/
public function __construct($datenbankVerbindung)
{
$this->ddConnect = $datenbankVerbindung;
}
/**
* @return array
*/
public function showChatData()
{
$posts = $this->ddConnect->fetchAll("SELECT * FROM messages");
foreach ($posts as $post) {
/*
* post wird an die function buildMessageFromRow übergeben
array chatOutput bekommt Die Id aus DB=>Message
chatOutput[id objekt message] = objekt message d.h soviel id wie es gibt so viele Objekte gibt es. Jede zeile ist ein Objekt
*/
$message = $this->buildMessagerFromRow($post);
$this->chatOutput[$message->getId()] = $message;
}
return $this->getChatOutput();
}
/**
* @return array
*/
public function showOnUser()
{
$users = $this->ddConnect->fetchAll("SELECT * FROM user WHERE status='1'");
foreach ($users as $userOnline) {
$userOnline = $this->buildUserFromRow($userOnline);
$this->userOutput[$userOnline->getId()] = $userOnline;
}
return $this->getUserOutput();
}
/**
* @param $message
* @param $writer
*/
public function writeChatDateInDb($message,$writer)
{
$this->ddConnect->insert(
'messages',
array(
'message' => $message,
'writer' => $writer,
)
);
}
private function buildMessagerFromRow($rowSet)
{
return new Message(
$rowSet['id'],
$rowSet['message'],
$rowSet['writer']
);
}
private function buildUserFromRow($rowset){
return new UserOnline(
$rowset['id'],
$rowset['name'],
$rowset['password'],
$rowset['status']
);
}
}
誰かが私はJSとクラスを接続することができますどのように、私を説明できますか? あなたの助けを借りて Micha
あなたの助けのためにそんなにThxを....今私はそれを理解.... :) – freemindghost
私は助けることができ嬉しいです。答えを受け入れることを検討してください。 –