42 lines
1 KiB
Markdown
42 lines
1 KiB
Markdown
|
|
# FetchExample
|
||
|
|
|
||
|
|
This sample demonstrates how to use the Fetch API in Crafter.CppDOM to make HTTP requests.
|
||
|
|
|
||
|
|
## Features
|
||
|
|
|
||
|
|
- Shows how to perform HTTP GET requests
|
||
|
|
- Demonstrates asynchronous response handling
|
||
|
|
- Illustrates how to update the DOM with fetched data
|
||
|
|
|
||
|
|
## Usage
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
import Crafter.CppDOM;
|
||
|
|
import std;
|
||
|
|
using namespace Crafter::CppDOMBindings;
|
||
|
|
|
||
|
|
int main(){
|
||
|
|
void* body = GetElementById("body");
|
||
|
|
SetInnerHTML(body, "<h1>Fetch Example</h1><p>Testing HTTP requests...</p>");
|
||
|
|
|
||
|
|
Fetch("https://httpbin.org/get", [body](std::string result){
|
||
|
|
if (!result.empty()) {
|
||
|
|
SetInnerHTML(body, "<h1>Fetch Example</h1><p>Response: " + result + "</p>");
|
||
|
|
} else {
|
||
|
|
SetInnerHTML(body, "<h1>Fetch Example</h1><p>Failed to fetch data</p>");
|
||
|
|
}
|
||
|
|
FreeJs(body);
|
||
|
|
});
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
## Building and Running
|
||
|
|
|
||
|
|
```bash
|
||
|
|
crafter-build build executable
|
||
|
|
run.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
Then navigate to `http://localhost:8080/` in your browser.
|
||
|
|
|
||
|
|
If caddy is not installed, you can use your favorite static file server instead.
|