10 November, 2020
Ajax LARAVEL 419 POST error
Programing Coderfunda November 10, 2020 Ajax, Jquery, Laravel, php No comments
Question
I would really appreciate some help on this. I tried tons of solutions as posted in this forum, but I cannot get it to work.
My ajax call is something like
$(document).ready(function() {
$("#company").click(function() {
$.ajax({
type: "POST",
dataType:'html',
url : "/company",
success : function (data) {
$("#result").html(data);
}
});
});
});
I am calling the view through my route
Route::post('/company', 'Ajaxcontroller@loadContent');
And controller
public function loadContent()
{
return view('listing.company')->render();
}
My company.blade.php is
@foreach ($companies as $company)
<div class="posting-description">
<h5 class="header"><a href="#"></a>{{$company->name}}
</h5>
<h5 class="header"> {{$company->streetaddress}} {{$company->postalcode}}</h5>
<p class="header">
<span class="red-text"> <?= $service; ?> </span> is available on <span class="green-text"><?php echo $date; ?></span>
</p>
@endforeach
I am getting this error
POST http://127.0.0.1:8234/company 419 (unknown status)
ANSWER
Laravel 419 post error is usually related with api.php and token authorization
Laravel automatically generates a CSRF "token" for each active user session managed by the application. This token is used to verify that the authenticated user is the one actually making the requests to the application.
Add this to your ajax call
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
or you can exclude some URIs in VerifyCSRF token middleware
protected $except = [
'/route_you_want_to_ignore',
'/route_group/*
];
Ajax LARAVEL 419 POST error
Programing Coderfunda November 10, 2020 Ajax, Jquery, Laravel, php No comments
Question
I would really appreciate some help on this. I tried tons of solutions as posted in this forum, but I cannot get it to work.
My ajax call is something like
$(document).ready(function() {
$("#company").click(function() {
$.ajax({
type: "POST",
dataType:'html',
url : "/company",
success : function (data) {
$("#result").html(data);
}
});
});
});
I am calling the view through my route
Route::post('/company', 'Ajaxcontroller@loadContent');
And controller
public function loadContent()
{
return view('listing.company')->render();
}
My company.blade.php is
@foreach ($companies as $company)
<div class="posting-description">
<h5 class="header"><a href="#"></a>{{$company->name}}
</h5>
<h5 class="header"> {{$company->streetaddress}} {{$company->postalcode}}</h5>
<p class="header">
<span class="red-text"> <?= $service; ?> </span> is available on <span class="green-text"><?php echo $date; ?></span>
</p>
@endforeach
I am getting this error
POST http://127.0.0.1:8234/company 419 (unknown status)
ANSWER
Laravel 419 post error is usually related with api.php and token authorization
Laravel automatically generates a CSRF "token" for each active user session managed by the application. This token is used to verify that the authenticated user is the one actually making the requests to the application.
Add this to your ajax call
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
or you can exclude some URIs in VerifyCSRF token middleware
protected $except = [
'/route_you_want_to_ignore',
'/route_group/*
];
03 November, 2020
How to Fix ‘This version of this file is not compatible with the version of Windows you’re running’ Error on Windows?
Programing Coderfunda November 03, 2020 Window No comments
Windows is one of the most popular operating systems out there with more than a billion users. All of this success comes due to the numerous features that have been made part of the operating system over the years. The latest and the greatest version of Windows is the “Windows 10” operating system that Microsoft has been pushing its users to upgrade to.
Windows is one of the most popular operating systems out there with more than a billion users. All of this success comes due to the numerous features that have been made part of the operating system over the years. The latest and the greatest version of Windows is the “Windows 10” operating system that Microsoft has been pushing its users to upgrade to.
What Causes the “This version of this file is not compatible with the version of Windows you’re running” Error?
After receiving numerous reports from multiple users, we decided to investigate the issue and devised a solution to eradicate it completely. Also, we looked into the reason due to which it is triggered and listed it as follows.
Lack of Backwards Compatibility: The Error arises from a difference in the architecture of the application that you are trying to run and the architecture of Windows. It can either be caused if the program is too old or too recent for the version of Windows that you are trying to run it on. The problem can be solved if the issue is with backward compatibility, as all Microsoft operating systems do have backward compatibility integrated into them but it has to be manually triggered.
Now that you have a basic understanding of the nature of the problem, we will move on towards the solution. Make sure to follow the steps carefully and accurately to avoid conflict.
Solution: Changing Compatibility Settings
If the software isn’t compatible with the version of Windows that you are using this error is triggered. Therefore, in this step, we will be changing certain compatibility settings. For that:
- Open the installation directory of the program that you are trying to run.
- Right-click on the main “.exe” for the program.
- Select “Properties” and click on the “Compatibility” tab.
- Click on the “Run Compatibility Troubleshooter” for Windows 10/8 and “Help me Choose the Settings” for Windows 7.
- Click on the “Try Recommended Settings” option and click on the “Test” option.
- If the program works, click on the “Yes Save these Settings” option and if it doesn’t select the “No Try Different Settings“.
- Follow the onscreen instructions and repeat the process until the program works.
How to Fix ‘This version of this file is not compatible with the version of Windows you’re running’ Error on Windows?
Programing Coderfunda November 03, 2020 Window No comments
Windows is one of the most popular operating systems out there with more than a billion users. All of this success comes due to the numerous features that have been made part of the operating system over the years. The latest and the greatest version of Windows is the “Windows 10” operating system that Microsoft has been pushing its users to upgrade to.
Windows is one of the most popular operating systems out there with more than a billion users. All of this success comes due to the numerous features that have been made part of the operating system over the years. The latest and the greatest version of Windows is the “Windows 10” operating system that Microsoft has been pushing its users to upgrade to.
What Causes the “This version of this file is not compatible with the version of Windows you’re running” Error?
After receiving numerous reports from multiple users, we decided to investigate the issue and devised a solution to eradicate it completely. Also, we looked into the reason due to which it is triggered and listed it as follows.
Lack of Backwards Compatibility: The Error arises from a difference in the architecture of the application that you are trying to run and the architecture of Windows. It can either be caused if the program is too old or too recent for the version of Windows that you are trying to run it on. The problem can be solved if the issue is with backward compatibility, as all Microsoft operating systems do have backward compatibility integrated into them but it has to be manually triggered.
Now that you have a basic understanding of the nature of the problem, we will move on towards the solution. Make sure to follow the steps carefully and accurately to avoid conflict.
Solution: Changing Compatibility Settings
If the software isn’t compatible with the version of Windows that you are using this error is triggered. Therefore, in this step, we will be changing certain compatibility settings. For that:
- Open the installation directory of the program that you are trying to run.
- Right-click on the main “.exe” for the program.
- Select “Properties” and click on the “Compatibility” tab.
- Click on the “Run Compatibility Troubleshooter” for Windows 10/8 and “Help me Choose the Settings” for Windows 7.
- Click on the “Try Recommended Settings” option and click on the “Test” option.
- If the program works, click on the “Yes Save these Settings” option and if it doesn’t select the “No Try Different Settings“.
- Follow the onscreen instructions and repeat the process until the program works.
21 October, 2020
Cannot use object of type stdClass as array?
Programing Coderfunda October 21, 2020 json, php No comments
Cannot use object of type stdClass as array?
I get a strange error using json_decode()
. It decode correctly the data (I saw it using print_r
), but when I try to access to info inside the array I get:
Fatal error: Cannot use object of type stdClass as array in
C:\Users\Dail\software\abs.php on line 108
I only tried to do: $result['context']
where $result
has the data returned by json_decode()
How can I read values inside this array?
Answer>
15 Answers
Use the second parameter of json_decode
to make it return an array:
$result = json_decode($data, true);
Use the second parameter of json_decode
to make it return an array:
$result = json_decode($data, true);
The function json_decode()
returns an object by default.
You can access the data like this:
var_dump($result->context);
If you have identifiers like from-date
(the hyphen would cause a PHP error when using the above method) you have to write:
var_dump($result->{'from-date'});
If you want an array you can do something like this:
$result = json_decode($json, true);
Or cast the object to an array:
$result = (array) json_decode($json);
You must access it using ->
since its an object.
Change your code from:
$result['context'];
To:
$result->context;
The problem I have is trying to use the property in a conditional
if ($result->context = $var)
This causes the property to be set to the var and returns true, no matter.
Have same problem today, solved like this:
If you call json_decode($somestring)
you will get an Object and you need to access like $object->key
, but if u call json_decode($somestring, true)
you will get an dictionary and can access like $array['key']
Use true
as the second parameter to json_decode
. This will decode the json into an associative array instead of stdObject
instances:
$my_array = json_decode($my_json, true);
See the documentation for more details.
It's not an array, it's an object of type stdClass.
You can access it like this:
echo $oResult->context;
More info here: What is stdClass in PHP?
To get an array as result from a json string you should set second param as boolean true.
$result = json_decode($json_string, true);
$context = $result['context'];
Otherwise $result will be an std object. but you can access values as object.
$result = json_decode($json_string);
$context = $result->context;
Cannot use object of type stdClass as array?
Programing Coderfunda October 21, 2020 json, php No comments
Cannot use object of type stdClass as array?
I get a strange error using json_decode()
. It decode correctly the data (I saw it using print_r
), but when I try to access to info inside the array I get:
Fatal error: Cannot use object of type stdClass as array in
C:\Users\Dail\software\abs.php on line 108
I only tried to do: $result['context']
where $result
has the data returned by json_decode()
How can I read values inside this array?
Answer>
15 Answers
Use the second parameter of json_decode
to make it return an array:
$result = json_decode($data, true);
Use the second parameter of json_decode
to make it return an array:
$result = json_decode($data, true);
The function json_decode()
returns an object by default.
You can access the data like this:
var_dump($result->context);
If you have identifiers like from-date
(the hyphen would cause a PHP error when using the above method) you have to write:
var_dump($result->{'from-date'});
If you want an array you can do something like this:
$result = json_decode($json, true);
Or cast the object to an array:
$result = (array) json_decode($json);
You must access it using ->
since its an object.
Change your code from:
$result['context'];
To:
$result->context;
The problem I have is trying to use the property in a conditional
if ($result->context = $var)
This causes the property to be set to the var and returns true, no matter.
Have same problem today, solved like this:
If you call json_decode($somestring)
you will get an Object and you need to access like $object->key
, but if u call json_decode($somestring, true)
you will get an dictionary and can access like $array['key']
Use true
as the second parameter to json_decode
. This will decode the json into an associative array instead of stdObject
instances:
$my_array = json_decode($my_json, true);
See the documentation for more details.
It's not an array, it's an object of type stdClass.
You can access it like this:
echo $oResult->context;
More info here: What is stdClass in PHP?
To get an array as result from a json string you should set second param as boolean true.
$result = json_decode($json_string, true);
$context = $result['context'];
Otherwise $result will be an std object. but you can access values as object.
$result = json_decode($json_string);
$context = $result->context;
How to Sort Multi-dimensional Array by Value?
Programing Coderfunda October 21, 2020 arrays, multidimensional-array, php, sorting No comments
How can I sort this array by the value of the "order" key? Even though the values are currently sequential, they will not always be.
Array
(
[0] => Array
(
[hashtag] => a7e87329b5eab8578f4f1098a152d6f4
[title] => Flower
[order] => 3
)
[1] => Array
(
[hashtag] => b24ce0cd392a5b0b8dedc66c25213594
[title] => Free
[order] => 2
)
[2] => Array
(
[hashtag] => e7d31fc0602fb2ede144d18cdffd816b
[title] => Ready
[order] => 1
)
)
Answer
11 Answers
Try a usort, If you are still on PHP 5.2 or earlier, you'll have to define a sorting function first:
function sortByOrder($a, $b) {
return $a['order'] - $b['order'];
}
usort($myArray, 'sortByOrder');
Starting in PHP 5.3, you can use an anonymous function:
usort($myArray, function($a, $b) {
return $a['order'] - $b['order'];
});
And finally with PHP 7 you can use the spaceship operator:
usort($myArray, function($a, $b) {
return $a['order'] <=> $b['order'];
});
To extend this to multi-dimensional sorting, reference the second/third sorting elements if the first is zero - best explained below. You can also use this for sorting on sub-elements.
usort($myArray, function($a, $b) {
$retval = $a['order'] <=> $b['order'];
if ($retval == 0) {
$retval = $a['suborder'] <=> $b['suborder'];
if ($retval == 0) {
$retval = $a['details']['subsuborder'] <=> $b['details']['subsuborder'];
}
}
return $retval;
});
If you need to retain key associations, use uasort()
- see comparison of array sorting functions in the manual
How to Sort Multi-dimensional Array by Value?
Programing Coderfunda October 21, 2020 arrays, multidimensional-array, php, sorting No comments
How can I sort this array by the value of the "order" key? Even though the values are currently sequential, they will not always be.
Array
(
[0] => Array
(
[hashtag] => a7e87329b5eab8578f4f1098a152d6f4
[title] => Flower
[order] => 3
)
[1] => Array
(
[hashtag] => b24ce0cd392a5b0b8dedc66c25213594
[title] => Free
[order] => 2
)
[2] => Array
(
[hashtag] => e7d31fc0602fb2ede144d18cdffd816b
[title] => Ready
[order] => 1
)
)
Answer
11 Answers
Try a usort, If you are still on PHP 5.2 or earlier, you'll have to define a sorting function first:
function sortByOrder($a, $b) {
return $a['order'] - $b['order'];
}
usort($myArray, 'sortByOrder');
Starting in PHP 5.3, you can use an anonymous function:
usort($myArray, function($a, $b) {
return $a['order'] - $b['order'];
});
And finally with PHP 7 you can use the spaceship operator:
usort($myArray, function($a, $b) {
return $a['order'] <=> $b['order'];
});
To extend this to multi-dimensional sorting, reference the second/third sorting elements if the first is zero - best explained below. You can also use this for sorting on sub-elements.
usort($myArray, function($a, $b) {
$retval = $a['order'] <=> $b['order'];
if ($retval == 0) {
$retval = $a['suborder'] <=> $b['suborder'];
if ($retval == 0) {
$retval = $a['details']['subsuborder'] <=> $b['details']['subsuborder'];
}
}
return $retval;
});
If you need to retain key associations, use uasort()
- see comparison of array sorting functions in the manual