6

AjaxのようにSSEを使用してPOSTデータをPHPに送信することは可能ですか?

私はかなり長い間AJAXを使用してきましたが、長いポーリング技術では悪い結果が出ました。私もWebSocketについて考えていましたが、少し冗長なようです。

4

3 に答える 3

0

EventSource API は POST メソッドをサポートしていませんが、SSE を POST で使用できないという意味ではありません。EventSource API を使用することはできません。ただし、代替の実装があります。1 つの例は、必要に応じてペイロードとヘッダーを指定できるsse.jsです。sse.js は、EventSource のドロップイン置換である必要があります。たとえば、次のようになります。

var source = new SSE("get_message.php");
source.onmessage=function(event)
{
    document.getElementById("message-window").innerHTML+=event.data + "<br>";
};

POST メソッドを使用するには、次のようにペイロードを指定するだけです。

var source = new SSE("get_message.php", {payload: 'Hello World'});

そして、これは完全に互換性のあるポリフィルであるため、おそらく次のようにすることができます。

EventSource = SSE;
var source = new EventSource("get_message.php", {payload: 'Hello World'});
source.onmessage=function(event)
{
    document.getElementById("message-window").innerHTML+=event.data + "<br>";
};
于 2020-04-19T18:03:56.690 に答える