введите описание изображения здесь ниже приведена форма
<form method="post" style="display: none;" encType="multipart/form-data" class="landLords1" name="addACourse" action="{{URL::to('/addACourse')}}">
{{ csrf_field() }}
<input type="text" placeholder="Course Title" name="title"><br>
<select name="duration" id="duration">
<option value="1 weeks">1 week</option>
<option value="2 weeks">2 weeks</option>
<option value="3 weeks">3 weeks</option>
<option value="4 weeks">4 weeks</option>
<option value="5 weeks">5 weeks</option>
<option value="6 weeks">6 weeks</option>
<option value="7 weeks">7 weeks</option>
<option value="3 months">3 months</option>
<option value="4 months">6 months</option>
<option value="5 months">5 months</option>
<option value="6 months">6 months</option>
<option value="7 months">7 months</option>
<option value="8 months">8 months</option>
<option value="9 months">9 months</option>
<option value="10 months">10 months</option>
<option value="11 month">11 months</option>
<option value="1 year">1 year</option>
</select><br>
<input type="text" placeholder="price" name="price"><br>
<input type="text" placeholder="Course Code e.g(ECN 504)" name="coursecode"><br>
<input type="text" name="author" placeholder="Authors names"><br>
<input type="file" name="picture" placeholder="select picture"><br>
<textarea name="desscription" id="textArea" cols="30" rows="10" placeholder="write a detail descripton of the content of the course you are creating, write a summary of the course. this content will be displayed went users click on the course"></textarea><br>
<button>submit</button><br>
</form>
Ниже приведен код javascript
function addACourse(param){
//event.preventDefault();
console.log(param);
const theToken = document.querySelector('meta[name="csrf-token"]').getAttribute('content');
//const theForm = document.getElementsByClassName('landLords1')[0];
var formData = new FormData(param);
formData.append('vin', 'value');
var xhttp = new XMLHttpRequest();
xhttp.open('POST', '/addACourse', true);
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(this.responseText);
return;
const data = JSON.parse(this.responseText);
console.log(data);
// use data here!
}
}
xhttp.setRequestHeader('X-CSRF-TOKEN', theToken);
xhttp.setRequestHeader("X-Requested-With", 'XMLHttpRequest');
xhttp.setRequestHeader("processData", 'false');
xhttp.setRequestHeader('cache', 'false');
//xhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhttp.send(JSON.stringify(formData));
}
const theForm = document.getElementsByClassName('landLords1')[0];
theForm.addEventListener('submit', function(event){
event.preventDefault();
addACourse(this);
return;
}, false);
Это мой контроллер laravel
<?php
namespace App\Http\Controllers;
use DB;
use Storage;
use Illuminate\Http\Request;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Http\UploadedFile;
class AddACourseController extends BaseController
{
public function addACourse(Request $request){
$value = $request->input('coursetitle');
return response()->json(array('data' => $value), 200);
}
}
Я не собираюсь использовать Jqueryотправить форму.Я хочу отправить форму с помощью xmlHttpRequest ().Я получаю нулевое значение на сервере каждый раз, когда пытаюсь отправить форму, пытался использовать оба
$theData = $request->input('coursetitile');
$data = $request->coursetitle;
return response()->json(array('data' => $data, 'theData' => $theData),200);
//note coursetitle is one of the imput field.
Я получаю нулевое значение, пожалуйста, как мне решить эту проблему.пожалуйста, я не хочу никакого ответа, который использует JQuery для решения этой проблемы.Я хочу получить ответ только в ванильном javascript.