2013-04-30 51 views
0

我正在向網絡攝像機發出GET請求,告訴攝像機以某種方式移動,例如,平移,傾斜,縮放等。我不需要來自相機內置網絡服務器的響應,這顯然與調用JavaScript代碼所在的主機不同。我試圖做一個jQuery $.ajax請求,由於相同的源策略,這是不允許的。但是,當我將'dataType'設置更改爲'jsonp'時,它似乎在最新版本的Firefox,Chrome和Internet Explorer中運行良好。除了有點笨拙之外,這種方法是否有任何技術問題會阻止它將消息發送到相機?如果我不關心結果,我可以假裝跨域AJAX響應是JSONP嗎?

+1

您可以*激發*任何種類的GET請求,只有您不會被允許訪問結果。無論請求是否使用XHR,腳本標記,圖像元素或iframe都無關緊要。但是,如果您使用的是類似jsonp的腳本標記,結果將會被執行 - 這可能會對您的頁面造成傷害,或者引發語法錯誤。 – Bergi 2013-04-30 00:46:52

+0

製作服務器端webmethod,命中您的本地服務器並在網絡攝像頭服務器上中繼,處理服務器上的響應並返回客戶端。 – cgatian 2013-04-30 00:48:24

+0

@cgatian:他說他不需要客戶的迴應。 – Bergi 2013-04-30 00:49:30

回答

1

如果您的相機只是預計在該特定網址處發出GET請求,則不會有任何區別。 JSONP請求實質上是增加了對腳本標記您的文檔:

<script src="..."></script> 

callback參數添加到URL,以便加載生成的腳本時,執行一個全球性的回調函數。 jQuery與$.ajax隱藏很好,所以你不會注意到它。

+0

它會觸發錯誤回調,但不會拋出任何未處理的錯誤,所以我想我會停止擔心它。 – regularmike 2013-04-30 18:00:13

相關問題