Inlägg

Inlägg som Bebben har skrivit i forumet
Av Bebben
Av Bebben
Av Bebben
Av Bebben
Skrivet av McZlatanAndCO:

Nyckel till Middle-Earth: Shadow of War som kan lösas in på gog.com
6CXN442FACDEF258E3

redan tagen.

Av Bebben

Jag hänger inte med riktigt, behöver du en adapter från M.2 (som visas på bilden) till något annat?

Av Bebben
Av Bebben

Jo, så jag löste det med att använda denna AJAX-funktionen istället för den jag postade tidigare:

$("#btn").click(function () { $.post( api_url, $("#createForm").serialize(), function (json) { console.log(json); document.getElementById("createForm").reset(); alert("Vehicle saved successfully."); }, "json" ); });

Kort och smidigt.

Jag installerade även NewtonsoftJson i min backend, men har inte behövt implementera den någonstans så jag tror bara att min function som använde stringify() ställde till det.
Kikar jag i consol nu så skrivs det ut ett korrekt objekt snarare än en lång sträng som innan.

Var dag är en ny lärdom.

Av Bebben

God morgon! Jag löste problemet inatt efter att jag skrev sista inlägget.

Kommer posta lösningen när jag kommer hem ikväll.

Återigen, tacksam för hjälpen och råden.

Av Bebben
Skrivet av Phod:

Antingen måste du skicka isActive som "isActive":true, eller så måste du konvertera från en sträng med "bool.Parse(str)". För att det senare ska funka måste du säkert sätta upp en custom converter på något sätt. Det är svårt att säga mer när man inte har hela projektet och ser vilka libraries det bygger på.

Skrivet av prod01:

Svårt att veta när man inte ser hela koden, plus att jag inte kodar i de här språken.
Men kan du inte ändra datatypen till boolean. Eller skriva nån hjälpmetod som konverterar en sträng till en boolean innan du sparar den i db.

Edit: Tvåa på bollen

Skrivet av jonkul:

Radio buttons verkar bara kunna generera string values, inte boolean, så konvertera den till boolean någonstans i ditt script kanske?

Ej exakt lösningsexempel nedan, men ett förslag:

if(isset($_POST['SubmitButton'])) { $_POST['IsActive'] = $_POST['IsActive'] == 'true' ? true : false; }

Skrivet av medbor:

”isActive”:”true”

Betyder alltså att det är ett strängvärde, strängen ”true”

Du kan göra not equals på den istället för !-operatorn du använder

Skrivet av Wilworin:

Som Phod säger så ska en boolean vara utan citationstecken i en json-fil och det är därför du får ett errormess i din backend. Så, som han också skriver, antingen ser du till att skicka i rätt format från frontend eller så tar du emot som en string och parsar till en bool. Det finns iofs en lösning till och det är att du ändrar din property i backend till att vara en string och hantera det som en string istället.

Ja, precis. Den blir en sträng (JSON.Stringify()) och därför accepterar den inte bool. Men typen int går fint av någon anledning.
Har testat skriva (läs: kopierat) en custom bool converter, men problemet kvarstår.

Sett flera som föreslår en lösning likt den @jonkul använder, men har inte lyckats med det heller.

Andra säger att jag bara ska installera Newtonsoft.Json istället för att använda Microsofts egna System.Text.Json, men så enkelt var det inte heller. (Den Custom converter jag lade in använder sig av Newtonsoft.Json).

Funderar på att ändra datatypen till sträng sålänge som Wilworin föreslog så jag kommer vidare med projektet så får det bli en senare nöt att knäcka. Har ett par endpoints att ändra också isf, då de i nuläget går på bool i sitt anrop.

Detta problem känns om en sån där busenkel grej där lösningen är mitt framför ögonen på mig.

Hojta gärna om ni kommer på något. Jag är verkligen tacksam!

Av Bebben

Märks man inte hunnit surfa på SweC i veckan...

Av Bebben

The JSON value could not be converted to System.Boolean

Hej allesammans!

Jag sitter med en liten simpel webbapplikation där jag har problem med att posta ett nytt objekt till min databas.
Ett av målen med projektet är att se hur långt man kan komma med så simpel "teknik" som möjligt, så frontenden är skriven i HTML, CSS och JS/AJAX. Backenden är ett webapi i C# som går mot MongoDb Atlas.
Jag har inte kodat mycket alls i JS, så jag har sökt massvis men inte lyckats få det att funka.

Att skapa ett nytt objekt, i detta fall en motorcykel, går bra tills dess att jag lägger in en boolean, isActive. Tar jag bort den ur formuläret skapas motorcykeln med isActive = false per standard.

HTML-formuläret (kraftigt nedkortad för läsbarhet):

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> </head> <body> <form id="createForm" method="post" enctype="application/json"></form> <table id="createVehicleTable"> <tr> <td> <label for="isActive">For sale:</label><br /> <input type="radio" id="yes" name="isActive" value="yes" form="createForm" /> <label for="yes">Yes</label><br /> <input type="radio" id="no" name="isActive" value="no" form="createForm" /> <label for="no">No</label><br /> </td> </tr> <tr> <td> <input type="submit" value="Create Vehicle" form="createForm" /> </td> </tr> </table> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min..."></script> <script src="./scripts/api-post-new.js" language="JavaScript" type="text/javascript" ></script> </body> </html>

Javascriptet:

const api_url = "http://mittFinaApi/api/motorcycles/create"; const serialize_form = (form) => JSON.stringify( Array.from(new FormData(form).entries()).reduce( (m, [key, value]) => Object.assign(m, { [key]: value }), {} ) ); $("#createForm").on("submit", function (event) { event.preventDefault(); const json = serialize_form(this); console.log(json); $.ajax({ type: "POST", url: api_url, data: json, contentType: "application/json", success: function (result) { console.log(result); document.getElementById("createForm").reset(); alert("Vehicle saved successfully."); }, error: function (result, status) { console.log(result); alert("Something went wrong when saving vehicle."); }, }); });

Felmeddelandet jag får är: The JSON value could not be converted to System.Boolean. Path: $.isActive | LineNumber: 0 | BytePositionInLine: 2 och kikar man i console så ser man att det är en string = "true".

Backend ser ut såhär:
Endpoint:

[HttpPost, Route("create")] [ProducesResponseType(typeof(int), 200)] public async Task<IActionResult> Post([FromBody] Motorcycles newMotorcycles) { if (!ModelState.IsValid) { return BadRequest(ModelState); } await _motorcyclesService.CreateAsync(newMotorcycles); return CreatedAtAction(nameof(GetAll), new { id = newMotorcycles.Id }, newMotorcycles); }

Service:

public async Task CreateAsync(Motorcycles newMotorcycle) => await _motorcycleCollection.InsertOneAsync(newMotorcycle);

Jag har lagt ungefär 10h på att lösa detta, så nu vänder jag mig hit för hjälp och råd.

Hur löser jag mitt problem?
Är min function för komplex?
Vad kan göras bättre?

Tacksam för all hjälp.

Av Bebben

Jag har en Edgerouter X. Till denna har jag en AP AC Lite som får ström över PoE från routern.

Jag har dock inte märkt av någon som helst tröghet med min router, och jag har en 200/200-lina som jag, helt ärligt, inte maxar så ofta mer än när något spel uppdateras via Epic eller Steam.

Av Bebben
Skrivet av Homdax:

Jag skulle kanske frågat när processorn presenterades här, men passar på nu. Varför har den den formen? Är det för att öka värmeledningsförmågan eller vad...

Har för mig det har med ytmonterade komponenter att göra, de fick helt enkelt inte plats om de hade använt sig av en traditionell IHS.

Av Bebben
Skrivet av medbor:

Trodde plötsligt att Noctua börjat göra ramminnen, men detta var nästan lika konstigt…

Haha, samma här. Fick läsa rubriken både 2 och 3 gånger innan polletten trillade ner.

Av Bebben
Av Bebben

Deltaco XXL.

Tickade i mina 3 krav: XXL "på riktigt", anonym (svart) och prisvärd (billig).

Av Bebben
Skrivet av NewCamps:

Blev ett kort till slut! I fredags plockade jag hem hoj kortet och jag har sedan dess åkt varje dag i princip!
Har ni något tips på vart det går att köpa bra mc kläder, inte jätte budget men inget över dyrt heller. Om det finns möjlighet att beställa hem det från utlandet möjligtvis? eller någon butik i Stockholms området.

Slänger med en bild på min nybörjar hoj,
https://imgur.com/a/3FrrSsc

Stort grattis!

Gällande butiker så finns ju exempelvis Handelsboden och XLMoto i Sthlm.

Av Bebben

Om du är orolig för att ditt PSU håller på att stämpla ut, så köp ett nytt och behåll det nya till din stora uppgradering.

Personligen, så har jag dock aldrig stött på ett PSU som vikt hädan pga ålder oavsett om det 5, 10 eller 15 år gammalt.

Av Bebben

Inga problem.

*ledsna 1080p-skärmar-läten*

Av Bebben