首先我conface我是 新手来php
,我使用在客户端和PHP的jQuery(淘汰赛JS)在服务器端.我的代码.
客户方:我正在使用knockout js(Javascript)
.调用我的PHP服务.
我的代码:
self.VMSaveEditUserMode = function () {
try {
var params = { "ClientData": [controllerVM_.ClientID(), controllerVM_.VMList[0].ClientName(), controllerVM_.VMList[0].ShortName(), controllerVM_.VMList[0].Address(), controllerVM_.VMList[0].CreatedBy(), controllerVM_.VMList[0].CityName(), controllerVM_.VMList[0].PostalCode(), controllerVM_.VMList[0].ContactEmail(), controllerVM_.VMList[0].ContactPhone(), controllerVM_.VMList[0].IsCorporate()] };
$.ajax({
type: "POST",
url: URL + "index.php/phpService/SaveClient/" + controllerVM_.TokenKey(),
data: JSON.stringify(ko.toJS(params)),
contentType: "application/json",
async: true,
dataType: 'json',
cache: false,
success: function (response) {
},
error: function (ErrorResponse) {
if (ErrorResponse.statusText == "OK") {
}
else {
alert("ErrorMsg:" + ErrorResponse.statusText);
}
}
});
}
catch (error) { …
Run Code Online (Sandbox Code Playgroud) 我有一个数组有多个对象(比如3个对象),每个对象有3个"键 - 值"对.
$PredefinedResult
是这样的:
[
{
"EffectiveStatusId":0,
"EffectiveStatus":"abc",
"RecordCount":0
},
{
"EffectiveStatusId":0,
"EffectiveStatus":"def",
"RecordCount":0
},
{
"EffectiveStatusId":0,
"EffectiveStatus":"ghi",
"RecordCount":0
}
]
Run Code Online (Sandbox Code Playgroud)
我有另一个对象数组,其名称为$MainResult
:
[
{
"EffectiveStatusId":1,
"EffectiveStatus":"abc",
"RecordCount":7
},
{
"EffectiveStatusId":6,
"EffectiveStatus":"def",
"RecordCount":91
}
]
Run Code Online (Sandbox Code Playgroud)
预期结果 :
我想用对象替换里面的类似$PredefinedResult
对象,$MainResult
并希望得到如下结果:
[
{
"EffectiveStatusId":1,
"EffectiveStatus":"abc",
"RecordCount":7
},
{
"EffectiveStatusId":6,
"EffectiveStatus":"def",
"RecordCount":91
},
{
"EffectiveStatusId":0,
"EffectiveStatus":"ghi",
"RecordCount":0
}
]
Run Code Online (Sandbox Code Playgroud)
我尝试了什么:
我试过这个代码,但它没有给我想要的结果.
$FinalResult = array_replace($PredefineResult,$MainResult);
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我如何获得上面提到的预期结果?
我想绑定AutocompleteBox 的SelectedText
和SelectedItem
属性,因为我的客户端希望能够输入文本并从列表中进行选择.它运作正常,但......
MainPage有一个DataGrid.当我从Grid中选择一条记录(即SelectedItem)时,我想在弹出窗口的AutocompleteBox中设置它.有时它可以工作,但有时却没有.
我该怎么办这个问题?
这是我的XAML:
<Sdk:AutoCompleteBox Grid.Column="3" Grid.Row="3" Height="18" Width="150"
IsTextCompletionEnabled="True" TabIndex="9" HorizontalAlignment="Left"
Text="{Binding ElementName=ResEdit,Path=DataContext.SelectedDemoText,Mode=TwoWay}"
ItemsSource="{Binding ElementName=ResEdit,Path=DataContext.DemoList,Mode=OneWay}"
ItemTemplate="{StaticResource DemoTemplate}"
ValueMemberPath="DemoCode"
LostFocus="AutoCompleteBox_LostFocus"
Margin="0,0,21,0" Padding="0">
</Sdk:AutoCompleteBox>
Run Code Online (Sandbox Code Playgroud)
此属性在我的视图模型中并绑定到DataGrid:
public InvoicesDTO SelectedInvoice
{
get { return _selectedInvoice; }
set
{
SelectedInvoice = value;
SelectedDomoText = SelectedInvoice.DemoText.Trim();
RaisePropertyChanged("SelectedInvoice");
}
}
Run Code Online (Sandbox Code Playgroud) silverlight-2.0 silverlight-toolkit silverlight-3.0 silverlight-4.0 silverlight-5.0
我SQL server2008
用作数据库,我已经编写了存储过程MSSQL Server 2008
.它运作良好MSSQL Server 2008
.我想从中调用此存储过程codeigniter
.为此我写了这样的代码:
phpService.php:
public function Login($username, $password)
{
$this->load->model('Apimodel');
$result = $this->Apimodel->Login($username,$password);
header('Content-type: application/json');
echo json_encode(array('LoginResponce'=>$result));
}
Run Code Online (Sandbox Code Playgroud)
apimodel.php:
function Login($UserName,$Password)
{
$this->db = $this->GetDB();
$query = $this->db->query("EXEC Login");
return $query->result();
}
Run Code Online (Sandbox Code Playgroud)
当我执行没有参数的过程时,它工作正常
function Login($UserName,$Password)
{
$this->db = $this->GetDB();
$query = $this->db->query("EXEC Login '$UserName','$Password'");
return $query->result();
}
Run Code Online (Sandbox Code Playgroud)
但是,当我使用参数执行过程时它不起作用
谁能告诉我,我在这里失踪了什么?
提前致谢
我在LongListSelector中有一个上下文菜单.此列表在运行时创建和更新.
<phone:PanoramaItem Header="{Binding Path=LocalizedResources.SavedGamesHeader, Source={StaticResource LocalizedStrings}}" Orientation="Horizontal">
<phone:LongListSelector Margin="0,0,-22,2" ItemsSource="{Binding SavedGames}">
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" Margin="12,2,0,20" Width="432">
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu>
<toolkit:MenuItem Header="Remove" Click="RemoveSave_OnClick"/>
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
<Image Margin="10,5,10,0" Height="173" Width="248" Source="{Binding Screen}" Stretch="Fill" HorizontalAlignment="Left"></Image>
<StackPanel Width="311" Margin="8,5,0,0" HorizontalAlignment="Left">
<TextBlock Tap="Save_OnTap" Tag="{Binding SavedGame}" Text="{Binding SaveName}" TextWrapping="Wrap" Margin="10,0" Style="{StaticResource PhoneTextExtraLargeStyle}" FontSize="{StaticResource PhoneFontSizeMedium}" Foreground="White" FontWeight="Bold" FontFamily="Arial Black" HorizontalAlignment="Left" />
<TextBlock Text="{Binding GameName}" TextWrapping="Wrap" Margin="10,-2,10,0" Style="{StaticResource PhoneTextSubtleStyle}" HorizontalAlignment="Left" />
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<TextBlock Text="Created on:" Margin="10,-2,10,0" Style="{StaticResource PhoneTextSubtleStyle}" />
<TextBlock Text="{Binding Created}" TextWrapping="Wrap" Margin="5,-2,10,0" Style="{StaticResource PhoneTextSubtleStyle}" …
Run Code Online (Sandbox Code Playgroud) 什么时候我运行托管项目服务运行完美..
当我测试其他项目给我错误或我无法得到服务的响应.我尝试了很多但没有工作
我的Ajax电话:
self.ValidLogin = function () {
try {
$.ajax({
type: "GET",
url: "http://xxx.xxx.xxx.xxx/TEST/index.php/TestController/TestMethod?UserName=superadmin&Password=super",
,
crossDomain: true,
contentType: "application/json; charset=utf-8",
async: false,
dataType: 'json',
cache: false,
success: function (response) {
alert("valid response");
},
error: function (ErrorResponse) {
alert("error");
}
});
}
catch (error) {
alert("Catch:" + error);
}
}
Run Code Online (Sandbox Code Playgroud)
服务方面:
public function TestMethod()
{
parse_str($_SERVER['QUERY_STRING'],$_GET);
$UserName = $_GET['UserName'];
$Password = $_GET['Password'];
$this->load->model('LoginModel');
$result = $this->LoginModel->Login($UserName,$Password);
header('Content-type: application/json');
header('Access-Control-Allow-Origin: *');
echo json_encode($result);
}
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
我将对象从提琴手传递给用codeigniter编写的服务.我的对象看起来像这样:
我的回复 :
{
"GetResponse":{
"OrgName":"adfasd",
"OrgAdr1":"asdf",
"OrgAdr2":"NA",
"ProductList":[
{
"ProductID":8724,
"Pallets":0,
"Pieces":0,
"Description":"sdfsd"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
我想要的是 :
我想将响应保存为codeigniter中的JSON对象,并且还想在主Object中获取JSON对象或数组.
我尝试了什么:
我在codeigniter中的服务方法是这样的:
public function Save()
{
$Data = json_decode(file_get_contents('php://input'));
echo $Data;
}
Run Code Online (Sandbox Code Playgroud)
但是我在Fiddler里面的Response Body里什么都没得到.
如果我使用此代码:
$Data = file_get_contents('php://input');
echo $Data;
Run Code Online (Sandbox Code Playgroud)
然后它以String的形式向我显示响应.我想将其保存为JSON对象.
谁能告诉我,我在这里失踪了什么?
我有一个客户端提供给我的存储过程
喜欢:
ALTER Proc [dbo].[XYZ]
@Parameter varchar(100),
@Parameter1 nvarchar(4000) out
SET @APIString = "Test Test"
Run Code Online (Sandbox Code Playgroud)
我无权更改此程序.
当我通过C#执行过程时,我从过程中得到一个空字符串
如何@Parameter1
在我的项目中获得价值?
C#代码:
SqlCommand cmd = new SqlCommand("dbo.XYZ", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Parameter", Parameter);
cmd.Parameters.Add("@Parameter1", SqlDbType.VarChar,4000);
cmd.Parameters["@Parameter1"].Direction = ParameterDirection.Output;
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
String = reader["@Parameter1"] != null ? reader["@Parameter1"].ToString() : "";
}
conn.Close();
Run Code Online (Sandbox Code Playgroud) php ×5
codeigniter ×4
c# ×2
json ×2
sql-server ×2
arrays ×1
javascript ×1
knockout.js ×1
object ×1
rest ×1
vb6 ×1