跨域的ajax问题是因为返回的response中缺少
Header("Access-Control-Allow-Origin","*")
Header("Access-Control-Allow-Methods","GET,POST")
Header("Access-Control-Allow-Headers","x-requested-with,content-type")
需要把这写代码写到
1.php中直接把header中很常见
2、csp中主要写到 %CSP.page继承的方法中
Parameter CONTENTTYPE = "text/plain;charset=UTF-8";
ClassMethod OnPreHTTP(ByRef OutputBody As %Boolean) As %Boolean
{
/*星号表示所有的域都可以接受,*/
Do %response.SetHeader("Access-Control-Allow-Origin","*")
Do %response.SetHeader("Access-Control-Allow-Methods","GET,POST")
Do %response.SetHeader("Access-Control-Allow-Headers","x-requested-with,content-type")
// Do %response.SetHeader("Access-Control-Allow-Headers","x-requested-with,content-type")
//Do %response.SetHeader("Content-Type","application/pdf")
Quit 1
}
Page方法处理HTTP请求的完整响应,它是靠按照顺序调用OnPreHTTP,OnPage和OnPostHTTP各个回叫方法实现。
OnPreHTTP方法负责写出用于HTTP响应的标题的。包括内容类型和cookies等等信息。默认的行为是设置内容类型为“text/html”在出现你需要更为直接控制该响应标题的情况下,你通常需要覆盖OnPreHTTP方法。
OnPage方法完成的是为响应一个HTTP请求要做的大量工作,它是负责写出该申请的全部内容
OnPostHTTP方法是用来提供一个地方来完成你希望在HTTP请求已经被处理完成后要完成的任何操作的。