Javascript 如何通过JSONP发送HTML

Javascript 如何通过JSONP发送HTML,javascript,jquery,jsonp,Javascript,Jquery,Jsonp,我试图通过AJAX请求发送模板的html,我需要使用JSONP来避免出现跨源错误,但现在我需要将数据类型设置为JSONP。太长了,读不下去了,结果是Ajax得到了模板,我得到了“unthySythCurralEng:意外标记[P>粘贴你的完整JSON,看看它是什么样的。尝试使用HTML上的单引号。”< /P> < P>使用“代码>数据类型< /Cord>属性的列表选项。请参阅详细信息,但TL;DR使用数据类型:”JSONP HTML。“。否则,它将期望返回JSON,而不是HTML 您可能需要将H

我试图通过AJAX请求发送模板的html,我需要使用JSONP来避免出现跨源错误,但现在我需要将数据类型设置为JSONP。太长了,读不下去了,结果是Ajax得到了模板,我得到了“unthySythCurralEng:意外标记[P>粘贴你的完整JSON,看看它是什么样的。尝试使用HTML上的单引号。”< /P> < P>使用“代码>数据类型< /Cord>属性的列表选项。请参阅详细信息,但TL;DR使用<代码>数据类型:”JSONP HTML。“。否则,它将期望返回JSON,而不是HTML

您可能需要将HTML内容包装为JSON,但您可能已经这样做了。

JSONP的形式如下:

funcName({"key": "value"})
也就是说,传递对象的函数调用。您所要做的就是将HTML模板分配给此对象的属性。结果应该是:

funcName({"template": "<p>Template</p>"})
funcName({“模板”:“template

”})
您必须相应地设置服务器


另一个选项是在服务器上设置
访问控制允许源代码:
响应头(当然,在Ajax调用中不要将
json
指定为数据类型)


有关更多信息,请参阅。

它不是JSON,只是一个HTML页面。对于AJAX调用,这是不可能的吗?如果您将数据类型设置为jsonp,那么它需要jsonp并在html上抛出错误。正如您所说,将数据类型设置为html会在某些浏览器上出现跨源错误或安全冲突错误。据我所知,您必须编写自己的后端服务来解决这个问题。
funcName({"template": "<p>Template</p>"})