2015-11-09 47 views
0

對於我後悔,我發現自己在一個情況下,我嘗試通過插入JavaScript代碼來呈現數據到另一個網頁頁面的原因。生成JavaScript在ASPX頁面,並提交到SharePoint

從本質上說什麼,我做的是從aspx頁面內查詢數據庫,並出將數據寫入JavaScript數組。這個aspx頁面被用作腳本標籤中的src元素。

當瀏覽器是IE這僅適用於realease。

的代碼可能有助於解釋,[此頁按預期工作] http://server1/Website1/ <

<%@ Page ContentType="application/javascript" Language="C#" AutoEventWireup="true" CodeFile="GetDataFromDB.aspx.cs" Inherits="GetDataFromDB" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 

</body> 
</html> 

而後面的代碼中,我們有

public partial class GetDataFromDB: System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     Response.Clear(); 
     Response.ContentType = "application/javascript"; 

     StringBuilder output = new StringBuilder(); 

     output.Append(" var data= ["); 
     // Open database connection 
     // Get some data 
     // write it out into the output StringBuilder 
     // close down connection 
     output.Append("];)"; 
     byte[] data = GetByteArray(output.ToString()); 

     Response.OutputStream.Write(data, 0, data.Length); 
     Response.OutputStream.Flush(); 
     Response.End(); 
    } 
} 

在在SharePoint頁面我已經包括這個腳本標籤

<script language='javascript' type='application/javascript' src='http://server1/Website1/GetDataFromDB.aspx' ><\script> 

現在這項工作正常在IE瀏覽器和數據呈現給頁面,但在Firefox和Opera這似乎工作正常,但在腳本文件的內容中,每個字符都穿插一個?,即它開始:

v?a?r? d?a?t?a?=?[? .... etc 

如果我將生成的頁面的內容複製到文本文件並將其保存在同一位置(例如http://server1/Website1/GetDataFromDB.js),並將其用作源文件,則everthing將起作用。

任何一個有任何想法,我做錯了什麼?

附加信息,tho頁面從不同的主機運行,並且兩者都通過IIS被切斷,我完全控制託管http://server1/Website1/GetDataFromDB.aspx的服務器,但是在父頁面正在服務的那個服務器上沒有控制權。

回答