Heim >Backend-Entwicklung >PHP-Tutorial >PHP CURL simuliert den Ajax-Anfrageheader von JQuery, um Parameter hinzuzufügen, die in _SERVER angezeigt werden können
Szenario: Das Projekt verfügt über zwei verschiedene Möglichkeiten, Ajax-Anfragen und normale Anfragen zu verarbeiten, z. B. Fehlerbehandlung. Wenn beim Zugriff über den Browser ein Fehler auftritt, springen Sie zur DEBUG-Seite. Dies ist ein von mir selbst geschriebenes Framework, eine Stilkopie von ThinkPHP, da ich nur ein rein technischer Mensch bin. Entschuldigung - -): Zurück zum Betreff. Wenn es sich um eine Ajax-Anfrage handelt, muss ich die Informationen im JSON-Format zurückgeben. Dies ist für die Verarbeitung durch das Frontend (JS, IOS, ANDROID usw.) geeignet >
Dann benötigen wir auf der Serverseite ein Tag, um zu erkennen, ob es sich bei dieser Anfrage um eine Ajax-Anfrage oder eine normale Anfrage handelt. Ich beziehe mich hier auf die JQuery-Methode. Viele Leute wissen, dass js über die setRequestHeader-Methode des XMLHttpRequest-Objekts festgelegt werden kann. Wenn diese Anforderung jedoch vom Server gesendet wird, lautet die Verarbeitungsmethode wie folgt:
Auf diese Weise können Sie $_SERVER['
HTTP_X_REQUESTED_WITH
in PHP<span>function </span><span>Get</span><span>(</span><span>$url</span><span>)</span>
<span><span>{</span></span>'] verwenden 🎜>
<span><span><span></span>$ch </span><span>= </span><span><em>curl_init</em></span><span>(); </span><span><em><span></span>curl_setopt</em></span><span>(</span><span>$ch</span><span>, </span><span><em>CURLOPT_URL</em></span><span>, </span><span>$url</span><span>); </span><span><em><span></span>curl_setopt</em></span><span>(</span><span>$ch</span><span>, </span><span><em>CURLOPT_HEADER</em></span><span>, </span><span>0</span><span>); </span><span><em><span></span>curl_setopt</em></span><span>(</span><span>$ch</span><span>, </span><span><em>CURLOPT_RETURNTRANSFER</em></span><span>, </span><span>1</span><span>);</span></span>
<span></span><pre class="brush:php;toolbar:false"><span><span><span></span>$HEADER </span><span>= </span><span>array</span><span>( </span><span><span></span></span><span>'X-REQUESTED-WITH: XMLHTTPREQUEST' </span><span><span></span>); </span><span><em><span></span>curl_setopt</em></span><span>(</span><span>$ch</span><span>, </span><span><em>CURLOPT_HTTPHEADER</em></span><span>, </span><span>$HEADER</span><span>); </span><span><span></span>$return </span><span>= </span><span><em>curl_exec</em></span><span>(</span><span>$ch</span><span>); </span><span><em><span></span>curl_close</em></span><span>(</span><span>$ch</span><span>); </span><span></span><span><span></span>return </span><span>$return</span><span>;</span></span>
<span><span>}</span></span>Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und wurde vom Blogger nicht veröffentlicht. Eine Vervielfältigung ist mit Genehmigung des Eigentümers nicht gestattet. Das Obige stellt vor, wie PHP CURL den Ajax-Anforderungsheader von JQuery simuliert und Parameter hinzufügt, die in _SERVER angezeigt werden können, einschließlich des Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die an PHP-Tutorials interessiert sind.
<span>总结: 设置的头如: A-B-C, 在_SERVER变量中打印出来的key会变成 HTTP_A_B_C的形式.</span>