я использую laravel для своего бэкенда. У меня есть код JavaScript для сканирования Google, который является функцией с именем StartJob ()
У меня есть контроллер сканирования, у которого есть метод get, я хочу сделать это, когда явведите ключевое слово, которое ищет, если это не в обход базы данных, но если это в базе данных получает это и показать его, это мой HTML-код
<div id="numofkeywords"></div>
<form method="post" id="form">
<textarea id="input" name="input"></textarea>
<input type="button" id="startjob" onclick="GetCrawl();" value="Start Job">
<textarea id="filter-positive" rows="4" onkeyup="FilterIfNotWorking()" placeholder="Positive Filter"></textarea>
<textarea id="filter-negative" rows="4" onkeyup="FilterIfNotWorking()" placeholder="Negative Filter"></textarea>
</form>
<div id="message">
</div>
, и это мой метод контроллера, который вызвал в AJAX
public function getCrawl(Request $request) {
$keyword = $request->input('input');
//echo $keyword;
if (count(DB::table('crawler')->where('name', 'like', "%{$keyword}%")->get()->toArray()) > 0) {
$results = DB::table('crawler')->where('name', 'like', "%{$keyword}%")->get()->toArray();
$count = count($results);
// var_dump($results);
foreach ($results as $result) {
echo $result->data . "<br />";
}
} elseif (count(DB::table('crawler')->where('data', 'like', "%{$keyword}%")->get()->toArray()) > 0) {
$results = DB::table('crawler')->where('data', 'like', "%{$keyword}%")->get()->toArray();
$count = count($results);
// var_dump($results);
foreach ($results as $result) {
echo $result->data . "<br />";
}
} else {
echo '<script>';
echo 'StartJob()';
echo '</script>';
}
}
но в последнем случае должна запускаться функция StartJob (), но разве я не могу это исправить?это потому, что я использую AJAX ??
, и это мой вызов AJAX
function GetCrawl() {
var form = document.getElementById("form");
var data = new FormData(form);
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttpform = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttpform = new ActiveXObject("Microsoft.XMLHTTP");
}
var message = 'message';
xmlhttpform.onreadystatechange = function() {
if (xmlhttpform.readyState < 4) {
document.getElementById("message").value = "در حال پردازش ...";
}
if (xmlhttpform.readyState == 4 && xmlhttpform.status == 200) {
document.getElementById("message").innerHTML = xmlhttpform.responseText;
}
}
xmlhttpform.open("POST", "/laravel-master/crawler/public/api/getcrawl", true);
xmlhttpform.send(data);
}